浅析VB中的三种数据访问技术

(整期优先)网络出版时间:2009-04-14
/ 2

浅析VB中的三种数据访问技术

杨艳

口的体系结构进行了介绍,最后对这三种接口的技术进行了集中总结和比较。

关键词:DAORDOADO数据访问

0引言

数据库实质上是一个庞大的、不同类型的数据集合。早期的数据库系统不提供对外接口,仅可有特

定软件访问数据,随着计算机技术的发展和应用水平的提高,数据库系统逐渐发展、完善对外接口,

成为标准的应用支持平台。程序员再也不必自己编写数据管理程序,只需使用标准接口连接数据库即

可获得数据库系统的全部功能。而访问数据库是现代应用程序必备的基本功能之一,无论是数据库管

理系统,还是多媒体应用系统,都需要强大的数据库支持。VB为程序员提供了多种访问数据库的手段

,包括数据控件、DAO、RDO及ADO等。本文简单介绍DAO、RAO、ADO的体系结构,并对三者进行简单总

结和比较。

1DAO

1.1DAO概念数据访问对象DAO(DataAccessObjects)出自VB6.0提供的一个对象库,为处理数据提

供了完整、灵活的支持。DAO模型是设计关系数据库系统结构的对象类的集合。它们提供了管理关系型

数据库系统所需的全部操作的属性和方法,其中包括创建数据库,定义表、字段和索引,建立表间的

关系,定位和查询数据库等。在程序中使用它可以访问Access、FoxPro、dBase等数据库,某些条件下

也可以访问ODBC数据库。

1.2DAO层次结构DAO模型的体系结构如图1所示。DAO的结构严谨而丰富,正是这样的结构,提供了足

够丰富的访问数据库的方法。DAO是完全的面向对象的,它将数据的值作为属性,数据的查询作为方法

,数据值的变化作为事件。

1.3使用DAO使用DAO的步骤为:①创建工作区;②打开数据库;③创建记录集;④使用记录集访问数

据库;⑤关闭DAO。

2RDO

2.1RDO概念远程数据对象RDO(RemoteDataObjects)是位于ODBCAPI和驱动程序管理器之上的对

象模型,它提供一系列的对象来满足远程数据访问的特殊要求。尽管RDO在访问Jet数据库时受到限制

,只能通过现存的ODBC驱动程序来访问关系数据库,但它能访问任意的ODBC数据源,特别适用于智能

的数据库服务器(如SQLServer和Oracle等)。RDO具有短小快速的特性。

2.2RDO层次结构要正确地使用RDO,必须深入理解RDO对象模型。RDO对象和集合提供了使用代码创

建并控制远程ODBC数据库系统部件的框架。对象和集合的属性描述了数据库部件的特征,也描述了用

来操纵它们的方法。RDO对象模型的体系结构如图2所示。

2.3使用RDO使用RDO连接数据库的过程如下:①创建RDO环境;②连接数据库;③打开结果集;④操

作结果集;⑤关闭数据库。

3ADO

3.1ADO概念活动数据对象ADO(ActiveXDataObject)是Microsoft新的数据访问技术。该技术可屏

蔽远程数据访问的复杂性而高效、快速的访问多种数据库,是基于OLEDB之上的更简单、更高级、更

适合VisualBasic程序员,它封装并实际上实现了OLEDB的所有功能,同时消除了OLEDB的多种弊端

3.2ADO对象模型ADO模型包含一组对象,用于访问数据库。ADO对象模型体系结构如图3所示。

3.3使用ADOADO最基本的操作流程是:①初始化COM库,引入ADO库定义文件;②用Connection对象连

接数据库;③利用建立好的连接,通过Connection、Command对象执行命令,或是利用Recordset对象

取得结果记录集进行处理;④使用完后关闭连接释放对象。

4DAO、RDO、ADO的比较

DAO是Jet引擎的面向对象的编程接口,用于访问Jet或ISAM数据库,并允许VB开发者直接连接到Access

数据表。因此,DAO技术在访问MDB文件格式的数据库时有优势。但如果开发者想使用DAO与Oracle或

SQLServer这样的非MDB文件格式的数据库服务器进行通信,则对数据库的所有调用和数据输出都必

须经过Access/Jet数据库引擎,这对于使用数据库服务器的应用程序来说是一个严重的瓶颈。因此适

用于单系统应用程序或小范围本地分布使用。

RDO是是一个到ODBC的、面向对象的数据访问接口,是从DAO派生来的,适用于大型的客户、服务器数

据库。它兼具DAO和ODBCAPI二者的优点:一方面,它较DAO层次结构简单,便于对象的创建和处理;另

一方面,它表露了ODBC的底层结构,提供环境、连接和语句句柄。此外,RDO还提供了用来访问存储过

程和复杂结果的更多、更复杂的对象、属性和方法,因此,尽管它只能通过现存的ODBC驱动程序访问

关系数据库,并在访问Jet或ISAM数据库方面受到某些限制,但它在许多大型关系数据库应用程序开

发的仍被证明是一种比较好的选择。

ADO是一种新的数据库访问技术,是特别为客户/服务器应用程序开发而设计的。ADO是DAO和RDO的后继

产物,比DAO和RDO更简单、更加灵活。ADO在功能上与RDO更相似,而且它们之间有一种相似的映射关

系。ADO扩展了DAO和RDO所使用的对象模型,它包含较少的对象,更多的属性、方法和事件。

RDO使用行和列的概念,而DAO使用记录和字段的概念。RDO的查询结果以结果集的形式返回数据,结果

集可以包括零个或多个数据行,每行又可以包括一个或多个列。DAO需要使用游标访问数据,而RDO允

许创建无游标的结果集,所需的资源大大少于游标。DAO支持数据库模式的创建、修改、参照完整性和

安全性,而RDO不支持任何形式的参照完整性、安全性或模式修改。DAO对象模型主要用于Jet引擎,

RDO对象模型主要用于ODBC数据访问,而ADO对象模型主要用于OLEDB。Jet和ODBC主要是针对数据库访

问,而OLEDB对许多不同的数据源提供多机种环境的数据访问。Microsoft公司已将ADO作为数据存取

API的未来选择;VBScript以使用ADO,这使它很适合服务器/数据库的整合。因此,ADO是客户/服务器

和基于Web的应用程序开发的首选。随着数据库访问技术的不断发展,ADO将成为数据库访问技术的主

流。

参考文献:

[1]求是科技.VisualBasic6.0数据库开发技术与工程实践[M].北京:人民邮电出版社.2004:121~156.

[2]夏庆梅熊华钢:VB访问SQLServer的三种数据访问接口的研究[J].计算机应用研究2001.18

(12).44~47.

[3]李罡,张翠频,李雷.VisualBasic6.0编程基础与范例[M].北京:电子工业出版社,2000,325~

348.

[4]高峰霞,廖彬山.VisualBasic6.0中文提高与应用[M].北京:电子工业出版社.1999:255~261.