分类: 数据库开发技术
2006-06-28 15:31:43
从简单的文本文件到各种复杂的关系型数据库,数据库应用程序需要面对各种各样的数据源。Visual Basic 6.0提供ADO(Active Data Objects)作为应用程序和OLE-DB连接的桥梁。
ADO,即Active数据对象(Active Data Objects):实际是一种提供访问各种数据类型的连接机制。ADO设计为一种极简单的格式,通过ODBC的方法同数据库接口相连。用户可以使用任何一种ODBC数据源,即不仅适合于SQL Server、Oracle、Access等数据库应用程序,也适合于Excel表格、文本文件、图形文件和无格式的数据文件。ADO是基于OLE-DB之上的技术,因此ADO通过其内部的属性和方法提供统一的数据访问接口方法。
Microsoft在Visual Basic 6.0以后的版本都集成了ADO。它与以前Visual Basic的DAO、RDO相比有了很大的提高。DAO(Data Access Objects)即数据访问对象,是一种面向对象的界面接口。通过DAO/Jet功能可以访问ISAM数据库,使用DAO/ ODBC Direct功能可以实现远程RDO功能。RDO(Remote Data Objects)即远程数据对象,为使用代码来创建和操作一个远程ODBC数据库系统的各个部件提供了一个框架。RDO是ODBC API的一个浅层界面接口,是专为访问远程ODBC关系数据源而设计的。
ADO集中了DAO和RDO的优点,可以通过简单的编程实现和各种数据结构进行连接。
ADO通过下面几步来完成对数据库的操作:
(1)创建一个到数据源的连接(Connection),连接到数据库;或者开始一个事务(Transction)。
(2)创建一个代表SQL命令行(包括变量、参数、可选项等)的对象。
(3)执行命令行。
(4)如果返回以表格形式组织的数据,则将它们保存在缓存中,产生相应的数据集对象(Recordset)。这样便于查找、操作数据。
(5)通过数据集对象对数据进行各种操作,包括修改、增加、删除等。
(6)更新数据源,如果使用事务,确认是否接受事务期间发生的数据变化。
(7)结束连接和事务。
使用ADO的目的是进入数据源,使得修改、更新数据成为可能。ADO提供一系列的类和对象来完成各种操作。
一个连接(Connection)对象代表一个到指定数据源的成功连接。应用程序通过一个连接(包括实现数据交换的环境设置)访问数据源,也可以直接访问数据源(在两层数据结构的系统中比较常见),或者通过类似Microsoft Internet Information Server的中间层间接访问数据源(这就是通常说的三层结构)。连接成功,Connection以对象的形式存在。连接对象在ADO对象模型中的地位如图2-1所示。
图2-1 连接对象在ADO中的地位
使用连接对象的各种属性和方法可以完成如下操作:
l 在打开连接前需要设置ConnectionString、ConnectionTimeout和Mode属性。
l 设置CursorLocation属性,可以设置或者返回指针位置。
l 设置DefaultDatabase属性可以为连接指定一个默认的数据库。
l 设置IsolationLevel属性可以确定事务(Transaction)在连接的隔离等级。
l 设置Provider可以为连接指定一个OLE-DB寄主。
l 使用Open和Close方法来建立和中断一个连接。
l 使用Execute方法在连接上执行命令,设置CommandTimeout属性来指定或者返回命令执行时间。
l 使用BeginTrans、CommitTrans和RollbackTrans方法以及Attributes属性来管理事务。
l 通过检查Errors对象可以知道数据源返回的错误。
l 通过Version属性可以知道ADO的版本。
l 使用OpenSchema方法可以知道数据库的计划信息。
命令行对象是对数据源将要执行的一系列操作的定义。使用命令行对象来查询数据库并返回数据集对象(Recordset)形式的查询结果。命令行对象指定变量、参数以及可选项来完成对数据的操作,如添加记录、删除记录、更新记录等。命令行对象在ADO对象模型中的地位如图2-2所示。
图 命令行对象在ADO中的地位
使用命令行对象的各种属性和方法可以完成如下操作:
l 设置CommandText属性可以定义命令行的内容,比如SQL语句等。
l 使用Execute方法执行命令行并返回一个数据集对象(Recordset)。
l 设置CommandType属性可以优化命令的效率。
l 设置CommandTimeout属性可以指定服务器等待医疗命令执行的时间。
l 设置ActiveConnection属性可以将一个命令行对象与一个打开的连接关联。
如果命令行指定数据以表的形式组织,执行命令行后将返回相应的数据集。通过数据集可以对记录以及组成记录的列进行各种操作。数据集对象在ADO对象模型中的地位如图2-3所示。
图 数据集对象在ADO中的地位
ADO虽然集成在Visual Basic 6.0中,但只是可选项。因此在创建项目后,需要为项目添加ADO。
选择“Project”菜单中的“References”命令,出现如图2-4所示的列表框。在References列表框中选择“Mircrosoft ActiveX Objects 2.6 Library”选项,单击“OK”按钮。这样在程序中使用ADO时不会出现编译错误。