论文导读:VB(全称Visual Basic)是一种可视化的、事件驱动型的Windows应用程序开发工具。VB作为应用程序的开发“利器”也表现在数据库应用程序的开发上。DAO(Data Access Objects)即数据访问对象。RDO(Remote Data Object)即远程数据对象。和ADO一样。
关键词:VB,数据库,DAO,RDO,ADO
1 引言
VB(全称Visual Basic)是一种可视化的、事件驱动型的Windows应用程序开发工具,它在GUI设计、绘图、制表、运算、通信和多媒体开发方面都具有简单易行、功能强大等优点,所以越来越受到开发人员的亲睐。同时,VB作为应用程序的开发“利器”也表现在数据库应用程序的开发上,它为数据库应用程序的开发提供了一些功能强大的工具,包括数据库管理器、数据库控件和数据库对象,这些工具可以协助程序编写员轻松地链接数据库文件。
2 VB访问数据库的几种常见技术
2.1 DAO技术
DAO(Data Access Objects)即数据访问对象,包含了许多对象和集合,通过MicrosoftJet数据库引擎来连接Access数据库或其它的ODBC数据库。DA0最适用于单系统应用程序或在小范围本地分布使用。
Visual Basic将DAO模型封装成Data控件,通过设置相应的DatabaseName属性和RecodrdSource属性与数据库中的记录源建立连接。然后,使用Data控件来对数据库进行操作。
2.2 RDO技术
RDO(Remote Data Object)即远程数据对象,是基于ODBC API的对象模型,它短小、快捷、强健,可以访问任何32位ODBC数据源,如SQLServer和Oracle数据库,是访问远程数据库的更新更高级的工具。
RDO提供了用来访问存储过程和复杂结果集的更多和更复杂的对象、属性,以及方法。和ADO一样,Visual Basic也把其封装成Data控件,其使用方法和DAO使用方法完全一样。
2.3 ADO技术
ADO(ActiveX Data Objects)即ActiveX数据对象,是DAO/RDO的后继产物,ADO 2.0在功能上与RDO更相似,而且一般来说,在这两种模型之间有一种相似的映射关系。ADO“扩展”了DAO和RDO所使用的对象模型,这意味着它包含较少的对象、更多的属性、方法(和参数),以及事件。
作为最新的数据库访问模式,ADO的利用也是简单易用,所以Microsoft公司已经明确表示把今后的重点放在ADO上,对DAO/RDO不再作升级,所以ADO已经成为当前数据库开发的主流。
3 AD0对象模型及功能
要使用ADO,必须清楚ADO的对象层次结构。ADO按照访问和更新数据源的顺序定义了一个模型,如图1所示。在这个对象模型中包含了七个对象,它们的具体功能是:
图1
(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对象就可以实现基本的数据库操作。
4 使用ADO访问数据库
使用ADO访问数据库主要有两种方法:一是通过ADO Data控件非编程访问数据库;二是利用ADO对象库编程访问数据库。为了方便讨论,在C:My Documents下建立数据库db1.mdb,数据表table1,数据表table1包含字段有:xm(姓名),xh(学号),xb(性别)。
4.1通过ADO Data控件非编程来访问
(1)在工具箱中添加ADO Data控件。操作为:“工程”→“部件”→“Microsoft ADO DataControl”。
图2
(2)在窗体上放置一个ADO Data控件,名称默认为Adodc1。
图3
(3)设置Adodc1.ConnectionString属性值为“DSN=dbdsn”。其中“dbdsn”为指向db1.mdb数据库的数据源名称,可通过控制面版预先设定。
图4
(4)设置Adodc1.RecordSource项,选择命令类型为“2-adCmdTable”,并在表名项中选择“table1”。论文格式。
图5
(5)将ADO Data控件与Text文本框绑定。放置文本框控件于窗体,将其DataSource属性值设置Adodc1,DataField属性值设为表中一字段,如xh。运行程序,可用ADO Data控件的方向箭头来浏览。
图6
图7
4.2用ADO对象库编程访问
(1)引用ADO对象库。操作为:“工程” →“引用” →“Microsoft ActiveXData Objects 2.1 Library”。
图8
(2)用代码打开数据源,建立记录集,将记录集中的记录内容打印出来。
Dim conn As Connection'conn为连接变量
Dim rs AsRecordset 'rs为记录集
Dim strConnect As String'strConnect连接字符串
Private Sub Command1_Click( )
Set conn =CreateObject('adodb.connection')
conn.Open'provider=msdasql;database=db1;data source=dbdsn' '打开数据源
strConnect = 'select *from table1'
Set rs = conn.Execute(strConnect)'建立记录集
Do While Not rs.EOF
For i = 0 To rs.Fields.Count- 1
Printrs.Fields(i) '输出table1表中各字段
Next i
rs.MoveNext
Print'换行
Loop
End Sub
图9
5 结语
ADO是Microsoft数据库应用程序开发的新接口,它具有较强的功能、通用性好、效率高、占空间少等特点。它替代了原来的DAO和RDO两种数据访问接口。另外还增加了一些用户以前没有接触到的特征。随着信息网络化的发展,对数据库的访问宜采用ADO对象模型,以获得更好的性能,更大的灵活性。
参考文献
[1](美)Jeffrey P.McManus. Visual Basic 6数据库访问技术[M].机械工业出版社,1999.
[2] E.Winemiller. Visual Basic 6.0数据库开发[M].清华大学出版社,1999.
[3]王听讲.VisualBasic 6.0数据库开发实例[M].机械工业出版社,2000.
|