VB数据库的访问技术(精选8篇)
VB数据库的访问技术 第1篇
Visual Basic专业版是一种广泛使用的数据库编程语言, 提供了对数据库应用的强大支持。VB访问数据库的方法大致有三类:使用数据绑定控件, 使用数据库存取对象变量 (Data Access Object Variable) , 直接调用ODBC 2.0 API接口函数。
一、VB的数据库结构
VB数据库的核心结构是MicroSoft Jet数据库引擎, JET引擎的作用是支持多种ISAM (Indexed Sequential Access Method, 即索引顺序存取方法) 数据驱动程序。VB环境下Access是缺省的数据格式, 对于其他的关系型数据库如FoxPro、Dbase (或Xbase) 、Paradox、Btrieve等, VB的专业版可兼容其驱动程序, 这就使得VB能支持这些数据库格式。由上可见, Ms JET引擎实质上提供了:一个符合ANSI标准的语法分析器;为查询结果集的使用而提供的内存管理功能;同所支持的数据库的外部接口;为应用代码提供的内部接口。
二、VB访问数据库的原则和方法
1. VB访问数据库的原则
(1) 代码的重用和运行的效率
VB程序设计中, 应尽可能减少代码的重复编写, 提高运行效率。例如:通过使用ODBC数据源连接数据库的方法, 可在变换多种数据库类型的情况下, 而不用频繁修改代码。用VBSQL通过DB-Library就做不到。而ODBC接口并不是VB访问数据库运行效率最高的方法。同样, 同是使用ODBC接口的ADO的效率要高于RDO。
(2) 实现的简便性, 易维护性
如果一种方法实现起来很复杂, 工程的开发必然造成人力物力的浪费, 同时这样设计出来的应用程序只会支持起来更复杂或维护时更困难。例如:本地需要访问ISAM或Jet类型数据源, 那么就使用DAO/Jet, 而没有必要使用通过ODBC的方法。RDC实现起来要较RDO更容易。
(3) 安全原则
这一条应根据环境和条件决定。例如局域网的网络安全性要好于广域网, 因而可直接利用数据控件DC, 这样实现起来方便快捷, 而广域网需要大量的错误捕获, 如用RDC就不如用RDO易控制错误。
2. 数据访问接口功能及含义
ADC (Advanced Data Connector) :高级数据连接器, 提供绑定ADO数据源到窗体的数据绑定控件上。ADC主要是一种直接访问或者通过ADO访问远程OLE DB对象的一种技术, 它也支持主要应用在微软IE浏览器上的数据绑定控件。它是特地为Web上的浏览器为基础的应用程序而设计的。
ADO (Active Data Objects) :Active数据对象, ADO实际是一种提供访问各种数据类型的连接机制。ADO设计为一种极简单的格式, 通过ODBC的方法同数据库接口。可以使用任何一种ODBC数据源, 即不止适合于SQL Server、Oracle、Access等数据库应用程序, 也适合于Excel表格、文本文件、图形文件和无格式的数据文件。ADO是基于OLE-DB之上的技术, 因此ADO通过其内部的属性和方法提供统一的数据访问接口方法。
DAO (Data Access Objects) :数据访问对象, 是一种面向对象的界面接口。通过DAO/Jet功能可以访问ISAM数据库, 使用DAO/ODBC Direct功能可以实现远程RDO功能。使用DAO的程序编码非常简单, DAO提供丰富的游标 (Cursor) 类型的结果集和非游标 (Cursor-Less) 类型的结果集, 同DDL (数据描述语言) 的功能很类似。DAO模型是设计关系数据库系统结构的对象类的集合。它们提供了完成管理这样一个系统所的全部操作的属性和方法, 包括创建数据库, 定义表、字段和索引, 建立表间的关系, 定位和查询数据库等工具。
JET (Joint Engine Technology) :数据连接性引擎技术, 是一种基于工作站通过DAO的数据库访问机制。虽然可以通过微软Access提供的ODBC驱动程序访问Jet数据库, 但使用这些驱动程序在功能上有所限制。Jet机制有自己的查询和结果集处理功能, 并可对同种或异种数据源作查询处理。
ODBC (Open Database Connectivity) :开放式的数据库连接, 是一种公认的关系数据源的接口界面。提供统一接口的界面, ODBC对任何数据源都未作优化。
ODBC Direct:是一种基于DAO对象的新的DAO模式, 其方法和属性与RDO功能相同。使用在有DAO代码存在的场合, 可用来访问远程数据源。
OLEEDB:是一种底层数据访问界面接口。是用于第三方驱动程序商家开发输出数据源到ADO技术的应用程序或用于C++的开发者开发定制的数据库组件。OLE DB不能被VB直接调用。
RDC (Remote Data Control) :远程数据访问控件, 是一种对RDO数据绑定的控件。可以输出特定的结果集到数据源控件。
RDO (Remote Data Objects) :远程数据对象, 远程数据对象和集合为使用代码来创建和操作一个远程ODBC数据库系统的各个部件提供了一个框架。对象和集合都具有描述数据库的各个部件特征的属性以及用来操作这些部件的方法。可以在对象和集合之间建立起关系, 这些关系就代表了数据库系统的逻辑结构。RDO是ODBC API的一个浅层界面接口。是专为访问远程ODBC关系数据源而设计的。
VBSQL:是Visual Basic结构化查询语言。是一种基于API的接口方法, 几乎与C的DB-Library API相同, VBSQL只支持微软的SQL Server。VBSQL快而且轻但不支持对象界面。
3. VB访问数据库的方法
VB访问数据库的方法很多, 一般情况下分成三大类, 而每一类又有很多方法。下面列出每一类, 及每一类包含的方法。
(1) 数据控件法
数据库绑定控件来实现数据的输入、显示、筛选等接口界面。VB支持多种数据源访问控件, 在VB和COM界面接口之间起着媒介作用。这些控件提供了一种减少代码实现数据访问的途径。程序员可以使用同样的对象、属性和方法来处理各种不同的数据库格式。也可从一种数据库格式变到另一种格式 (例如, 将本地的Microsoft Access数据库转换为网络上的SQL Server数据库) , 也可在单一的查询或报表中连接来自多个不同数据库的表。
(2) 数据库存取对象变量 (Data Access Object Variable)
使用DAO访问数据库的对象和方法。
(3) 数据接口法
目前在VB6中有效的数据访问接口方法中, 有些是简单的应用程序接口界面 (APIs) , 有些是组件对象模型界面 (COM) 。这两类数据库接口界面事实上在任何一种开发语言中都包括。
三、总结
近来随着Web应用软件的迅速发展和现有数据存储形式的多种多样, Visual Basic访问数据库的解决方案面临诸多挑战。为此Microsoft提出一种新的数据库访问策略, 即“统一数据访问” (Universal Data Access) 的策略。“统一数据访问”提供了高性能的存取包括关系型和非关系型在内的多种数据源, 提供独立于开发工具和开发语言的简单的编程接口, 这些技术使得企业集成多种数据源、选择更好的开发工具应用软件、操作平台、建立容易维护的解决方案成为可能。“统一数据访问” (Universal Data Access) 的基础是Microsoft的数据访问组件。这些组件包括ActiveX Data Objects (ADO) 、Remote Data Service (RDS也称“高级数据连接器”或ADC) 、OLE DB和ODBC。总之, 在VB中访问数据库的方法很多, 根据具体的环境、条件、要求而采用适当的方案。
参考文献
[1].冷向君.Visual Basic中文版入门与提高[M].北京:清华大学出版社, 1998
[2].李昭原, 罗晓沛.数据库技术新进展[M].北京:清华大学出版社, 1997
[3].Steven Holzner.Visual Basic6.0技术内幕[M].北京:机械工业出版社, 1997
[4].Jiawei Han, Miccheline Kamber.数据挖掘概念与技术[M].北京:机械工业出版社
VB数据库的访问技术 第2篇
关键词:VB访问Access数据库;超级记忆
“VB访问Access数据库”内容是高中信息技术学科浙教版《算法与程序设计》教材上所没有涉及的,但在《浙江省信息技术学科教学指导意见》中是根据算法与程序设计的发展要求而新增加的内容,属于信息技术新高考识记要求的内容。由于该部分涉及新的概念和术语,如ADO对象、Connection对象、Recordset对象、SQL查询语句等,VB到Access数据库获取数据的计算机处理过程很抽象,学生对相关的程序代码不易理解,而且容易忘记,普遍觉得难教难学。
对初学者而言,读懂VB访问Access数据库的程序代码并非易事,陌生的词句多,语句之间的逻辑和功能不易理解。笔者在教学实践中摸索出一套超级记忆法来破解该教学难题。按照“有图、有序、有理、有趣”的设计原则,将VB访问Access数据库过程进行画图、编故事等设计,更有利于初学者的理解,能增强学生记忆力。
VB访问Access数据库的过程,好比工人到仓库里取东西一样,咱们先来看一个搬运工的故事。
故事情节与主要代码的对比解析:
1.一个名叫VB的工人,从家里出发,到仓库取货,须带上钥匙才能打开仓库大门
ADO(Activex Data Objiects)是微软公司提供的一种应用程序访问数据库的编程接口。该接口包含了多个对象,其中Connection对象用于与数据库的连接,在建立连接后,可以通过Recordset对象获取数据表中数据。
用Connection对象连接数据库的语句:
⑴定义一个数据库连接对象,名为conn
Dim conn As New ADODB.Connection
⑵指定连接到当前目录下的数据库文件
conn.ConnectionString=″provider=Microsoft.ACE.OLEDB.12.0;DATA Source=″ & App.Path & ″\数据库名.accdb″
⑶打开数据库连接
Conn.open
2.在仓库里,找了个搬运车,来到货柜前,打开货柜的橱门
打开数据库大门后,还要找到相应的数据表(好比储货的橱柜),从表中取得数据,这里要用到记录集对象(Recordset),这个对象好比存放货物的搬运车,可以保存所挑选好的数据。
用Recordset对象获取数据表中数据的语句:
⑴定义一个新的recordset(记录集)对象,名叫rs
Dim rs As New ADODB.Recordset
⑵将实例rs与conn建立关联
Set rs.ActiveConnection = conn
⑶Open方法打开数据表
rs.Open ″select * from 数据表名″
3.在货柜里,从上往下顺序查找,将符合条件的货物取出,有时运气不佳,可能翻见柜底也找不到
查询记录和获取数据,通常采用SQL命令,SQL语句“select * from 数据表名”将查询结果保存到记录集rs中。
4.最后,别忘了“关闭货柜的橱门,关闭仓库的大门”
关闭数据表、数据库的两条语句:
⑴关闭指向数据表的数据集
rs.close
⑵断开跟数据库的数据连接
conn.close
浅析VB中的数据库访问技术 第3篇
1 VB访问数据库的几种方法
数据访问是通过数据访问接口实现的, 数据访问接口代表了数据访问技术的集合。Visual Basic 6.0支持三个数据访问接口:DAO, RDO和ADO。下面简单地介绍一下这几种数据库访问的方法及其特点。1.1数据访问对象DAO (Data Access Objects) 是第一个面向对象的数据访问接口。通过DAO/Jet功能可以访问ISAM数据库, 使用DAO/ODBC Direct功能可以实现远程RDO功能。DAO特别适合单系统数据库应用程序或本地的小数据库应用程序。DAO模型是设计关系数据库系统结构对象类的集合, 它提供管理一个数据库所需的全部操作的属性和方法, 包括创建数据库、定义表、字段、索引、建立表间的关系、定位和查询数据库等工具。DAO模型的结构如图1所示。VB将DAO模型封装成Data控件, 通过设置相应的Database Name属性和Recodrd Source属性与数据库中的记录源建立连接。然后, 使用Data控件来对数据库进行操作, 编程更为简洁、方便。1.2远程数据对象RDO (Remote Data Objects) 又称远程数据对象, 是指在Client (客户端) 与Server (服务器端) 建立的数据访问模式。RDO是在ODBC API和驱动程序管理器之上的一个浅层界面接口, 使用ODBC API和数据库服务器驱动器创建到数据库服务器的连接, 创建查询和复杂结果集, 并且依赖数据库服务器为大多数请示执行复杂的过程。RDO直接与数据库服务器交互, 这使得RDO特别适于客户机/服务器型应用程序的开发。RDO已被证明是许多SQL Server、Oracle以及其他大型关系数据库开发者经常选用的最佳接口。RDO是从DAO派生出来的, 但两者的数据库模式有很大的不同。DAO是ISAM模式, 而RDO是关系模式。RDO提供了用来访问存储过程和复杂结果集的更多和更复杂的对象、属性及方法。RDO模型的结构如图2所示。和DAO一样, 在VB中也把其封装为RDO控件了, 其使用方法与DAO控件的使用方法完全一样。1.3 Active X数据对象 (Active X data objects) 是为Microsoft最新的功能强大的数据访问接口OLE DB而设计的数据对象, 它对OLE DB的接口作了封装, 定义了ADO对象, 属于数据库访问的高层接口。OLE DB为任何数据源提供了高性能的访问, 这些数据源包括关系和非关系数据库、电子邮件和文件系统、文本和图形、自定义的商业对象等。ADO对象模型定义了一个可编程的对象集合, 该对象集合支持组件对象模型 (COM) 和OLE DB。它是比RDO和DAO更加简单, 更加灵活的对象模型。ADO"扩展"了DAO和RDO所使用的对象模型, 这意味着它包含较少的对象、更多的属性方法参数以及事件。ADO对象模型如图3所示。模型包括以下几种对象:Connection (数据连接) , Error (错误) , Recordset (记录集) , Command (命令) , Parameter (参数) 和Field (对象) , Property (属性) 。
2 使用ADO访问数据库
使用ADO访问数据库主要有以下两种方法:2.1通过ADO Data控件非编程来访问。通过使用ADO数据控件链接xs.mdb数据库来说明ADO数据控件属性的设置过程。在VB程序中使用ADO对象, 必须先引用, 操作为:"工程""引用""Microsoft Active X Data Objects 2.1 Library"。在使用ADO数据控件前, 应先通过"工程部件"命令对话框, 从中选择"Microsoft ADO Data Control 6.0 (OLE DB) "选项, 将ADO数据控件添加到工具箱中:a.在窗体中添加一个ADO数据控件, 右击弹出"属性页"对话框, 选择"使用连接字符串"选项, 单击"生成"按钮, 通过选项设置自动产生链接字符串;b.打开"数据链接属性"对话框, 在"提供者"选项卡内选择一个合适的OLE DB数据源;c.再单击下一步按钮, 打开"数据链接属性"的"链接"选项卡, 指定数据库文件为xs.mdb;d.打开ADO控件属性窗口, 设置Record Source属性, 在弹出的记录源属性页对话框中, 在"命令类型"下拉框中选择"2-ad Cmd Table"选项, 在"表或存储过程名称"下拉框中选择xs.mdb数据库中的"xh"表。此时, 已完成了ADO数据控件的链接工作。2.2用ADO对象库编程访问。在实际的应用过程中, ADO典型的数据存取过程为:2.1连接数据源;引用A-DO对象库。2.2打开记录集对象;用代码打开数据源, 建立记录集, 将记录集中的记录内容打印出来。
2.3使用记录集;对数据库的访问还可通过对数据的添加Add New、删除Delete、修改、查询等实现具体操作。2.4断开连接。rs.Close
结束语
使用VB开发数据库系统, 以上几种数据访问的方法各有各的特点, 依赖于用户的应用程序而定:DAO方法是基于对象的, 因而便于使用, 灵活地操纵数据的编辑操作;远程数据对象RDO建立了在服务器上处理数据的访问模式;而基于Active X数据对象的ADO更是以其倾向于编写数据库应用程序, 使程序开发者更易于控制数据库的访问, 同时ADO所具有的较强的功能、通用性好、效率高、占空间少, 迅速成为适合于作为服务器端的数据访问技术。
参考文献
[1]李存斌, Visual Basic高级编程及其项目应用开发[M].北京:中国水利水电出版社, 2003.
[2]谭浩强等, Visual Basic程序设计[M].北京:清华大学出版社, 2000.
VB数据库的访问技术 第4篇
目前,油田开发井数据已达到数百万条并在日益增加,想要快速便捷的访问数据库并提取所需数据已经成为石油地质人员日常工作中必不可缺的环节。但是由于其自身对SQL语言不了解,无法直接对数据库进行查询和修改。因此,我们为其编制一个接口软件实现对Oracle数据库中开发数据的可视化操作。Visual Basic作为一种面向对象的通用程序设计语言,不仅具有简单易学、方便灵活和易于扩充的特点,而且提供了强大的数据库操作功能。ADO是以ActiveX技术为基础的数据存取方法,它使得客户端应用程序能够通过任何OLE DB访问和操作数据库服务器中的数据。通过ADO对象编程访问油田开发数据库给数据库的应用程序带来了很大的方便。
2 ADO技术简介
ADO是由微软公司开发的最新数据访问接口技术,建立在基于低层数据访问接口OLE DB(Objects Link and Embedding DataBase)技术上的数据对象。ADO技术对OLE DB进行了封装并实现了OLE DB的所有功能,从而避免了在VB应用程序中直接使用OLE DB接口,编程量大,细节多的缺点,简化了编程。
由于OLE DB是一种新的数据访问方法,它提供了一种统一、通用的访问数据源的低层接口,通过OLE DB可以实现对任意数据源的高性能数据访问,而并不局限于Jet、ISAM或关系数据源,它能够处理任何类型的数据,而不考虑数据的格式和存储方法,因此ADO通过OLE DB可以访问任何类型的数据源。
现在可用的数据访问接口有3种,即ADO(ActiveX Data Objects)、RDO(Remote Data Objects)和DAO(Data Access Objects)。ADO扩展了DAO和RDO所使用的对象模型,它可以在任何微软产品,如VB、VC、VJ等软件中使用,具有功能强、扩展性好、通用性好、效率高、占空间少等特点,其操作更加简单灵活。
ADO的对象包括:连接对象(Connection Object)、命令对象(Command Object)、记录集对象(Recordset Object)、字段对象(Field Object)、记录对象(Record Object)、参数对象(Parameter Object)、错误对象(Error Object)、属性对象(Property Object)和流对象(Stream Object)。其中最为重要的Connection、Command和Recordset。
3 ADO访问油田开发数据库的方法
ADO模型有编程访问和非编程访问两种方式,我们在编制应用接口时采用的是编程访问方式,下面进行详细的讨论。3.1编程访问方式
1)引用ADO对象库,操作为:“工程”“引用”“Microsoft ActiveX Data Objects 2.8 Library”。
2)编写代码连接数据库,打开数据源,建立数据集。油田上通用的数据库类型为Oracle数据库。
Dim cn As New ADODB.Connection//建立Connection对象
Dim rst As New ADODB.Recordset//建立数据库连接对象
Dim Sql As String//定义SQL语句
Dim oratblname As String//定义数据库表名称
Set cn=New ADODB.Connection//初始化连接对象cn.ConnectionString="provider=msdaora.1;user id="+username+";password="+password+";data source="+server+""//建立与oracle的连接cn.Open
Set rst=New ADODB.Connection//初始化记录集对象
Sql="select*from"+oratblname//SQL语句,查询某表的全部内容Rst.CursorLocation=adUseClientRst.Open Sql,cn adOpenStatic,adLockPessimistic//执行SQL语句并建立记录集
3)显示记录集内容。
利用DataGrid控件可以显示记录集的内容。
Set DataGrid1.DataSource=Rst
4)将记录集导出为Excel文件。
为了方便地质人员查看和操作数据库,可以将数据库中的表导出为Excel文件,对Excel表的数据进行修改后,再导入数据库就可以完成数据的加载和修改。下面着重介绍如何将在数据库中查询出的记录集导出为Excel表。
使用DataGrid控件的Columns集合的Count属性和Recordset对象的RecordCount属性,可以决定控件中行和列的数目。选择一个单元格,则ColIndex属性被设置,也就是选择了DataGrid对象的Columns集合中的一个Column对象。Column对象的Text和Value属性引用当前单元格的内容。
Dim irow As Integer//定义irow为Excel表的行数
Dim icol As Integer//定义icol为Excel表的列数
Dim xlApp As Excel.Application//定义xlApp为Excel应用程序对象变量
Dim xlBook As Excel.Workbook//定义xlApp为Excel工作簿对象变量
Dim xlSheet As Excel.Worksheet//定义xlApp为Excel工作表对象变量Set xlApp=CreateObject("Excel.Application")//创建新的Excel应用程序
Set xlBook=xlApp.Workbooks.Add//初始化工作薄
Set xlSheet=xlBook.Worksheets(1)//初始化工作表
If MsgBox("您真的要将资料导出到EXCEL中吗?",vbExclamation+vbYesNo,"提示")=vbYes Then
For icol=0 To Rst.Fields.Count–1//通过循环将数据表的列名赋值给Excel表第一行
xlSheet.Cells(1,icol+1)=Rst.Fields(icol).Name
Next icol
通过记录集的行和列的双循环,将数据集的每一项内容赋值给Excel表项
For irow=1 To Rst.RecordCount
For icol=1 To Rst.Fields.Count
xlSheet.Cells(irow+1,icol).Value=Rst.Fields(icol-1)
Next icol
Rst.MoveNext
Next irow
xlApp.Visible=True//显示Excel表
Else
End If
5)程序退出时,释放所有对象所占用的内存空间。
Private Sub Form_Terminate()
Set cn=Nothing
Set rst=Nothing
Set xlApp=Nothing
Set xlBook=Nothing
Set xlSheet=Nothing
End Sub
4 结束语
在VB中利用ADO对象直接编程来访问各种类型数据库的方法体现了ADO功能强、易于使用、访问灵活的特点。此外,ADO技术的优越性还体现在扩展性好、应用范围广、占用空间少等方面。随着信息化时代的不断深入,信息处理和信息共享变得越来越重要,数据访问技术对于信息系统也就显得尤为重要,本文介绍了在VB编程环境下,利用ADO的编程访问方式查询并导出数据表内容的方法和步骤,不仅为非计算机专业人员操作数据库提供了便利,还提高了数据访问速度。
摘要:介绍了ADO技术和VB中利用ADO的方式访问数据库的优点,并结合油田开发数据库的实例描述了利用ADO访问Oracle数据库的技术和方法,指出掌握ADO访问数据库的方式对开发数据库程序的重要性和便利性。
关键词:VB,ADO,Oracle,油田,数据库访问
参考文献
[1]莫礼平,张兆海.VB中基于ADO的数据库访问方法[J].电脑开发与应用,2004,17(6):33-34.
[2]陈万华,曹争.VisualBasic中两种ADO数据库访问技术的比较[J].微机发展,2003,13(6):53-54.
[3]张宗飞.VB中基于ADO的数据库访问技术分析及应用[J].计算机与数字工程,2008,36(3):53-56.
[4]周欢怀.用VB操作Excel文件[J].电脑学习,2004,4(2):55.
[5]史运平.基于Visual Basic6.0的ADO数据库访问技术[J].计算机与信息技术,2007(22):63-64.
[6]李凌博.基于VisualBasic6.0的ADO数据库编程技术[J].平顶山师专学报,2004,19(2):63-64.
VB中ADO访问数据库技术探讨 第5篇
关键词:数据库访问,ADO,对象模型
0 引言
Visual Basic是一种可视化的、事件驱动运行机制的Windows应用程序开发工具, 在数据库开发方面具有强大的功能。目前在Visual Basic中开发数据库程序主要有DAO、RDO、A-DO3种数据库开发技术。其中最流行的是ADO。它是建立在基于低层数据访问接口OLE DB (Objects Link and Embedding Data Base, 对象连接与嵌入数据库) 技术上的数据对象。
ADO设计为一种极简单的格式, 通过ODBC的方法同数据库接口连接。用户可以使用任何一种ODBC数据源, 即不仅适合于SQL Server、Oracle、Access等数据库, 也适合于Excel表格、文本文件、图形文件和无格式的数据文件。
1 ADO对象模型及功能
ADO按照访问和更新数据源的顺序定义了一个模型, 在这个对象模型中包含了7个对象, 它们的具体功能是:
(1) Connection对象。Connection对象用于建立与数据库的连接, 通过连接可从应用程序访问数据源。它保存诸如指针类型、连接字符串、查询超时、连接超时和缺省数据库这样的连接信息。
(2) Error对象。包含数据提供程序出错时的扩展信息。
(3) Property对象。包含某个ADO对象的提供程序定义的特征。
(4) Command对象。包含关于某个命令, 例如查询字符串、参数定义等信息。在建立Connection后, 可以发出命令操作数据源。一般情况下Command对象可以在数据库中添加、删除或更新数据, 或者在表中进行数据查询。Command对象在定义查询参数或执行一个有输出参数的存储过程时非常有用。
(5) Parameter对象。包含参数化的Command对象的某单个参数的信息。该Command对象有一个包含其所有Parameter对象Parameters集合。
(6) Recordset对象。用来存储数据操作返回的记录集。Recordset对象只代表一个记录集, 这个记录集是一个连接的数据库中的表, 或者是Command对象的执行结果返回的记录集。在ADO对象模型中, 在行中检查和修改数据是最主要的方法, 所有对数据的操作几乎都是在Recordset对象中完成的。Record对象用于指定行、移动行、添加、更改、删除记录。
(7) Field对象。包含记录集中数据的某单个列的信息。掌握其中的Command、Connection、Recordset对象就可以实现基本的数据库操作。
2 使用ADO访问数据库的两种方式
在VB中, 使用ADO访问数据库主要有两种方式, 一种是非编程访问方式, 使用ADO Data控件方式, 通过对控件的绑定来访问数据库中数据, 另一种是ADO对象模型编程访问方式, 通过定义对象和编写代码来实现对数据的访问。
(1) 使用非编程访问方式ADO Data控件访问数据库。 (1) 在工具箱中添加ADO Data控件, 操作为:选择工程菜单中的部件选项, 再选择“Microsoft ADO Data Control”; (2) 在窗体上把新出现在工具栏的ADO Data控件拖入; (3) 设置相关属性。
(2) 使用编程访问方式ADO对象模型访问数据库 (可以插入代码) 。 (1) 引用ADO对象库。操作为:“工程”菜单下选择引用选项, 再选择“Microsoft Activex Data Object 2.6 Library; (2) 为了能够在程序中使用ADO对象, 首先需要声明该对象, 然后才能连接数据库进行操作。
下面是在VB中利用ADO模型进行数据库连接输出报表的一个实例程序。
3 ADO两种访问方式比较
使用ADO Data控件在连接数据库时, 不需要创建连接对象和记录集对象, 直接设置相关属性就可以了, 简化了编程, 但在功能上有所限制, 对数据库的连接在程序运行时难以改变, 在访问大型数据库时效率比较低。如果通过对象模型编程方式连接数据库时, 则对数据库的操作非常灵活, 效率上也会大大提高。
4 结束语
ADO是DAO/RDO的后继产物, 作为最新的数据库访问模式, 微软已经明确表示今后把重点放在ADO上, 已经成为了当前数据库开发的主流。它具有功能强、通用性好、效率高、占空间少等特点。通过对ADO Data控件属性设置和利用ADO对象模型编程来访问数据库的两种方式都体现了这些特点, 我们在实际开发中, 对数据库的操作更适合采用对象模型编程方式, 以便更灵活地对数据库进行操作。
参考文献
[1]肖必武.Visual basic程序设计[M].北京:中国铁道出版社, 2007.
VB数据库的访问技术 第6篇
关键词:Visual Basic,数据库
Visual Basic语言是一门基础的编程语言,Visual Basic也是大家较为熟悉的编程工具,通过它可以轻松地编写各种应用程序。数据库编程是编程世界中较为特殊的一个领域,它涉及了大量与编程相对独力的数据库的知识,所以另许多人望而生畏。但使用Visual Basic连接数据库则使问题变得简单。本文主要介绍一种利用Visual Basic编写数据库程序的方法和用VB访问数据库应注意的几个问题。
1 Visual Basic访问数据库的方法
1.1 使用Microsoft Access建立数据库
首先打开Microsoft Access新建数据库,单击[工具]菜单上的[数据库实用工具]|[转换数据库]|[转为Access97文件格式],在随后出现的对话框中的文本框中输入mystudent.mdb,并单击[保存]按钮将该数据库保存在d盘,。经过如此转换,使用VB6.0的数据捆绑控件就可以直接访问了,如图1所示。
1.2 使用DataControl读取数据库
1)在VB中新建一个工程1,在窗体中建立一个DataControl控件,将此控件connect属性设定为access,data-basename属性为d:mystudent.mdb,recordsource属性为mystudent。
2)在此窗体中建立六个文本框,将他们的[datasourse]属性改为[data1],并分别依次将[datafied]属性改为[学号]、[出生年月]、[姓名]、[政治面貌]、[性别]、[所属系部]。相应的再建立六个标签及四个命令按钮[增加]、[删除]、[更新]、[退出],如图2所示。
3)单击[运行],可用data1控件移动纪录并能更新纪录。
4)在各命令按钮的command-click()中写入相应的代码,可实现增加,删除,更新、退出等功能。代码如下:
然后在Visual Basic6.0提供的[设计安装程序向导]的提示下(如图3)依次点击[开始]、[程序]、[MicrosoftVisual Basic6.0中文版]、[MicrosoftVisual Basic6.0中文版工具][打包和展开向导],选[添加]按扭并挑选C:vb98mystudentmystudent.mdb数据库,[下一步]之后,单击[单个的压缩文件],再[下一步]之后,修改安装标题,此后在连续出现的[启动菜单项]、[安装位置]窗口,点击[下一步],当出现[共享文件]窗口,选取mystudent.mdb文件,单击[下一步],既可完成安装程序的制作。
2 用VB访问数据库应注意的几个问题
1)如何来访问数据库。VB访问数据库提供二种方法,其一是用数据控制,其二是使用对象来访问数据库,在这两种方法中,都涉及到数据库的属性。但有时设置好connect,databasename后再设置recordsoure时,经常会出现“无法找到可安装的ISAM”错误。这里所讲的[ISAM]是在VB.INI文件中,它为VB指明所访问数据库的动态链接库。而在connect中所用的数据库的名称必须于[ISAM]中的数据库的名称相符合,这样就可以轻松地打开数据库。
2)关于书签指针即bookmark属性。在VB访问数据库时,数据库中的记录是没有记录号的,但VB提供了bookmark属性来记录当前访问记录的记录指针,这个bookmark就相当于记录号。但在实际编程时发现在使用数据库控制和用对象打开数据库来访问同一个数据库时的bookmark属性在这两者之间并不通用。当用bookmark记录了用数据控制打开的数据库的当前记录指针,然后使用对象打开此数据库后,用数据控制的bookmark来查找定位记录时,将会导致bookmark不合法的错误。
3)要注意hide方法和unload方法的区别。Hide方法是将你所指定的表单隐藏起来,但并不从内存中删除它,故此表单的内容并没有改变。而unload方法是将指定的表单删除掉(从屏幕上消失并从内存中删除),如在当前表单中使用格子控制来显示记录内容,然后用hide方法隐藏此表单,随后你重新选定记录装入格子控制,用show方法显示隐藏的表单,此时格子里的内容依然是旧的内容而新内容并没有代替旧内容。这里就需要使用unload方法将表单删除,然后新记录装入格子控制,用show方法显示时,就可以看到新的内容。
4)要注意变量类型的匹配。在访问数据库时,显示记录一般都使用格子控制,其中grid.text是子符串类型,但有些记录的数据项是空的(null)即没有数据。若将null装入grid.text显然会出错,所以这里就需要加入类型的判断,将null数据项赋于空格子符串,这样就可以解决此问题。
5)如何实现网格式打印数据库记录。VB所提供的打印机输出对象有表单、文本框、图片框和报表。这里可以使用报表控制来实现网格式打印输出,但报表控制需要报表格式文件.prt,此文件由VB提供的报表编辑器来设计所需要的报表格式,而产生的报表文件是输出数据库的所有记录,但往往我们只需要数据库中符合条件的部分记录。那么如何实现部分记录的网格式打印呢?我们可使用的方法是用报表编辑器设计一个连接空的数据库文件,然后在程序运行中将符合条件的部分记录装入空的数据库中,再使用报表控制来打印输出,这样就可以实现任何你所需要数据的报表打印输出。
6)要注意调用系统的DLL(dynamic-link libraries,动态链接程序库)。VB是一种高级程序设计语言,不具备低级语言的一些功能,它本身对于访问机器硬件等操作比较困难。若通过DLL调用Windows应用程序接口(API)函数,就可以方便地访问硬件。系统的DLL有keynel库,gdi库和user库,其中keynel库负责内存管理和文件管理,gdi库负责显示和打印功能,user负责键盘、鼠标、声音、通信、系统定时的管理。同时,VB也可以调用任何语言所编写的DLL。所以要想编出高质量的应用程序就必须学会如何调用DLL来实现所需的功能。
3 结束语
数据库是计算机应用最广泛的技术之一几乎所有的部门都会涉及到数据库的应用,而如何更好的利用数据库技术则是我们当前最为关注的问题,为此,我们利用Visual Basic的数据库功能为我们打开了通向数据库技术的大门,使得数据库技术不再那么遥不可及,可与程序设计语言更加紧密的结合在一起,为我们的学习和工作提供更多的方便。
参考文献
[1]王志东.用VB访问数据库[J].集宁师专学报,2002(4).
[2]李菲.浅谈高职高专VB课中建立报表的方法[J].电脑知识与技术,2009(16).
Web数据库访问技术的研究 第7篇
随着Internet技术的广泛应用, Internet成为资源共享、数据通讯和信息查询的重要手段。由于Internet用户对信息的实时性、交互式、动态访问的需求日益增长, 对交互性的Web应用程序提出更高要求。通过简单的Web页面访问服务器端的数据库可以打破Web服务器与浏览器静态的HTML模式, 从而实现动态的、交互式的Web页面。Web数据库应用系统访问技术常用方法有CGI、API (ISAPI, NSAPI) 、ASP、Java和Java Applet (使用JDBC接口) 等, 这种方式有力地促进了Web技术与数据库技术的协同发展。
1 Web数据库结构
World Wide Web的体系结构为浏览器/服务器 (B/S) 模式, 通信采用无状态的、面向对象的HTTP协议。其典型结构如图1所示:
2 Web数据库访问技术
2.1 CGI技术
公共网关接口CGI (Common Gateway Interface) 是运行在服务器端的网关守护进程, 是Web服务器与外部应用程序之间的标准接口, 是最早实现Web数据库访问的技术, 用于处理浏览器上输入的信息, 在服务器上产生相应的作用或将数据库信息反馈到浏览器。图2是通过CGI访问数据库的流程图。CGI程序可以用任何编程语言来编写, 但它存在很多缺点, 例如:开发繁琐, 修改成本高, 功能限制, 不易调试和检错, 无法对事务处理的功能。其中最为突出的是是以进程方式运行, 效率不高。对每一次收到CGI请求, Web服务器都重新创建一个新的进程, 建立一个新连接。而且, CGI程序是作为一个独立的外部应用来运行, 与服务器上的其它应用程序竞争系统资源, 同样导致运行效率不高。
2.2 API
API与CGI相比, 所采用的数据处理方法不同, API运用高级程序设计方法, 具有强大的功能, 灵活有效, 它可以提供自身应用和其它软/硬件的连接, 克服了CGI效率慢的缺陷。API访问数据库的原理与CGI相同, 在动态链接库 (DLL) 形式上与CGI的区别最大, 所以运行效率上明显提高。当调用API时, 接到请求的Web服务器将启动一个DLL线程, 在生成的HTML页面中显示访问数据库的结果, 并返回客户端。由于线程具有进程内属性, 启动快, 并且线程之间可以共享资源, 消耗系统资源少, 从而提高程序运行效率和响应时间。但API技术存在开发难度大且可移植性差的缺点, 因此, API应用程序往往多用于专用Web的服务器和操作系统上。
2.3 ASP
ASP (Active Server Pages) 作为API的延伸形成了独立的服务器端脚本编写环境, 它可实现交互的、动态的、高效率的Web服务器数据库信息交互。脚本可以在服务器端运行, 而不用在客户端运行时, 由Web服务器完成控制浏览器HTML页面的所有工作, 其任务由Web服务器负责完成。ASP能实现CGI的所有功能, 同时还具有许多其它优点, 比如:ASP拥有强大的数据库功能, 通过服务器端的脚本, 可以很容易创建数据库的连接, 利用Microsoft的ODBC技术, 以及ADO控件和设计时控件, 对数据库进行操作十分方便快捷。ASP中包含了许多Active X服务器的构件, ASP正是通过这些Active X服务器构件来扩展脚本的能力, 其中的数据库访问构件 (Database Access Component) 能使脚本方便地访问数据库服务器上的数据。运用ASP脚本的Web数据库应用程序的执行流程如图3所示:
2.4 JSP
JS (Java Sever Pages) 与ASP相比, 在技术方面有许多相似之处。但JSP页面支持Java高级编程语言, 可实现“一次编译、到处运行”的跨平台特点。JSP是通过JDBC (Java Database Conneetivitv) 来实现对数据库访问的, 当前的大多数据库都支持JDBC驱动程序, 如Oraele、Sybase、Sql Server等。JDBC在功能上于ODBC等同, 以应用程序接口的方式提供Java应用对数据库的访问。创建Java应用到数据库连接需要安装对应数据库的JDBC驱动程序, JDBC方法不需要ODBC数据源的支持, 可以提供标准的方法对数据库进行操作。如果系统中没有安装JDBC驱动程序, 可以通过Sun公司提供的JDBC-ODBC间接转换桥访问数据库, 该桥为Java程序运行建立ODBC的数据源, 实现数据库的访问。依靠Java虚拟机的支持, JSP可以实现跨平台性运行, 但由于JSP也需要解释后执行, 因而访问速度较慢。
2.5 ASP.NET
ASP.NET是继ASP之后发展出的Web应用程序开发技术, 它与.NET框架进行了整合, 采用模块化的设计模式, 成为搭建与管理Web应用程序最佳平台。与ASP相比ASP.NET具有更多的优势, 它可以支持多种编程语言, 如:VB.NET、C++等。ASP.NET程序代码运行实现了与HTML设计页面分离, 使网页结构更清晰, 程序可读性更强, 编译执行的运行效率更高。
CGI技术开辟了最早的Web数据访问技术, 具有进程内属性, 运行效率低的问题。API利用DLL技术, 用线程代替进程, 对CGI进行了改进, 但其编程要求复杂, 不具通用性。ASP提供ADO组件, 具有强大的数据库访问能力, 但ASP解释执行, 运行效率不高。JSP利用JDBC提供跨平台的数据库访问, 但Java语言掌握难度较大, 并需要JVM支持来进行解释执行, 运行效率不高。ASP.NET利用ADO.NET组件对数据库进行访问, 比较其它数据库技术有更多的优势, 该技术支持多种高级语言编程, 实现代码与HTML设计页面分离, 编译执行效率高, 在当前技术发展和应用中具有较为乐观的应用前景。
3 结论
随着网络和数据库技术发展, 传统的客户机/服务器 (C/S) 模式转向了浏览器/服务器 (B/S) 模式, Web数据库交互式动态访问技术为实现信息资源远程共享提供了技术支持, Web与数据库的互连成为了管理信息系统的核心, 数据库和浏览器构架了资源信息访问的管道。本文介绍了目前主要的Web数据库访问技术, 对相关的数据库访问技术进行了研究。通过对这些技术的分析, 总结每种访问技术性能的特点与优势, 为设计者如何选取最适合的Web数据库访问技术进行指导, 满足人们对互联网更加个性化、交互性需求的同时, 也促进了网络编程技术的产生和发展。
参考文献
数据库连接与访问技术的研究与应用 第8篇
随着网络应用和图书馆信息服务的迅速发展,享受图书馆提供的各项服务的人越来越多。一个优秀的图书馆网站除了提供强大的服务功能外,图书馆数据库的网络访问速度也是一个衡量图书馆服务质量高低的重要参数。在一个基于数据库的图书馆服务系统中,建立数据库连接的操作是该系统中代价最大的操作之一,可能在很多时候这就是系统访问速度的瓶颈。为此这里以本图书馆个性化服务系统中采用的数据库连接技术为例对多用户并发访问数据库时的数据库访问技术进行了研究与探讨。
基于J2EE结构的本图书馆个性化服务系统中的Module、Action、ColumnType、Column、Article等类基本上都是很少发生变化。为了保证系统数据库的频繁访问与性能开销,以及大数据对象的实例化生成与销毁,主要从以下两个方面提高数据库连接访问的性能。
2 数据库连接访问的实现与优化
2.1 连接池的实现
建立数据库连接池,优化数据库连接的往返开销。
在Java语言中,JDBC(Java DataBase Connection)是应用程序与数据库沟通的桥梁。JDBC是一种“开放”的方案,它为数据库应用开发人员﹑数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。JDBC提供两种API,分别是面向开发人员的API和面向底层的JDBC驱动程序API,底层主要通过直接的JDBC驱动和JDBC-ODBC桥驱动实现与数据库的连接。
一般来说,Java应用程序访问数据库的过程(如图1所示):
1)装载数据库驱动程序;2)通过JDBC建立数据库连接;3)访问数据库,执行SQL语句;4)断开数据库连接。
由上面的分析可以看出,JDBC作为一种数据库访问技术,具有简单易用的优点。但使用这种模式存在很多问题:首先,每一次Web请求都要建立一次数据库连接。建立连接是一个费时的活动,每次都得花费0.05s~1s的时间,而且系统还要分配内存资源。在这种情况下,频繁的进行数据库连接操作将会占用很多的系统资源,图书馆网站的响应速度必定下降,严重的甚至会造成服务器崩溃。其次,对于每一次数据库连接,使用完后都得断开。否则,程序如果出现异常而未能关闭,将会导致数据库系统中的内存泄漏,最终将不得不重启数据库。还有,这种并发不能控制被创建的连接对象数,系统资源会被毫无顾及的分配出去,假如连接过多时,也可能会导致服务器崩溃。
因此为解决上述问题,可以采用数据库连接池技术。数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。还有我们可以通过设定连接池最大连接数来防止系统无尽的与数据库连接。这样更为重要的是我们可以通过连接池的管理机制监视数据库的连接的数量﹑使用情况,为系统开发﹑测试及性能调整提供依据。连接池的基本工作原理如图2所示。
在本图书馆个性化服务系统中,定义了一个Servlet类,在系统里的Web.xml文件进行配置,这样可在系统启动的过程中,完成数据库连接个数的分配。
Servlet类部分代码如下所示:
在Web.xml中:
2.2 利用JCS的Cache缓存
通过采用Apache开源项目JCS的Cache缓存,将一些经常使用,但是实例生成非常耗损资源的对象,包括数据库的数据记录等,通过Cache缓存的机制进行缓存起来,从而系统实现快速访问数据库的策略。
具体配置文件如下:
实现的类如下:
参考文献
[1]靳其兵,李晓波.基于JSP的数据库连接技术的研究[J].计算机仿真,2007,24(4):108-111.
[2]郭晓燕,鲁晓辉,孙艳峰.基于J2EE的JDBC数据库连接池技术研究与应用[J].福建电脑.2007,12:103-98