Chinaunix首页 | 论坛 | 博客
  • 博客访问: 603694
  • 博文数量: 110
  • 博客积分: 8016
  • 博客等级: 中将
  • 技术积分: 1217
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-28 10:14
文章分类

全部博文(110)

文章存档

2008年(1)

2007年(13)

2006年(96)

我的朋友

分类: 数据库开发技术

2006-06-28 15:31:43

为什么需要ADO

从简单的文本文件到各种复杂的关系型数据库,数据库应用程序需要面对各种各样的数据源。Visual Basic 6.0提供ADOActive Data Objects)作为应用程序和OLE-DB连接的桥梁。

尽管用户对数据的要求种类繁多,但典型的数据源都是支持ODBC(开放式数据库连接标准)和SQL(结构化查询语言)的

ADO,即Active数据对象(Active Data Objects):实际是一种提供访问各种数据类型的连接机制。ADO设计为一种极简单的格式,通过ODBC的方法同数据库接口相连。用户可以使用任何一种ODBC数据源,即不仅适合于SQL ServerOracleAccess等数据库应用程序,也适合于Excel表格、文本文件、图形文件和无格式的数据文件。ADO是基于OLE-DB之上的技术,因此ADO通过其内部的属性和方法提供统一的数据访问接口方法。

MicrosoftVisual Basic 6.0以后的版本都集成了ADO。它与以前Visual BasicDAORDO相比有了很大的提高。DAOData Access Objects)即数据访问对象,是一种面向对象的界面接口。通过DAO/Jet功能可以访问ISAM数据库,使用DAO/ ODBC Direct功能可以实现远程RDO功能。RDORemote Data Objects)即远程数据对象,为使用代码来创建和操作一个远程ODBC数据库系统的各个部件提供了一个框架。RDOODBC API的一个浅层界面接口,是专为访问远程ODBC关系数据源而设计的。

ADO集中了DAORDO的优点,可以通过简单的编程实现和各种数据结构进行连接。

 ADO编程模型

ADO通过下面几步来完成对数据库的操作:

1)创建一个到数据源的连接(Connection),连接到数据库;或者开始一个事务(Transction)。

2)创建一个代表SQL命令行(包括变量、参数、可选项等)的对象。

3)执行命令行。

4)如果返回以表格形式组织的数据,则将它们保存在缓存中,产生相应的数据集对象(Recordset)。这样便于查找、操作数据。

5)通过数据集对象对数据进行各种操作,包括修改、增加、删除等。

6)更新数据源,如果使用事务,确认是否接受事务期间发生的数据变化。

7)结束连接和事务。

ADO对象模型

使用ADO的目的是进入数据源,使得修改、更新数据成为可能。ADO提供一系列的类和对象来完成各种操作。

1.连接对象——Connection

一个连接(Connection)对象代表一个到指定数据源的成功连接。应用程序通过一个连接(包括实现数据交换的环境设置)访问数据源,也可以直接访问数据源(在两层数据结构的系统中比较常见),或者通过类似Microsoft Internet Information Server的中间层间接访问数据源(这就是通常说的三层结构)。连接成功,Connection以对象的形式存在。连接对象在ADO对象模型中的地位如图2-1所示。

2-1 连接对象在ADO中的地位

使用连接对象的各种属性和方法可以完成如下操作:

l          在打开连接前需要设置ConnectionStringConnectionTimeoutMode属性。

l          设置CursorLocation属性,可以设置或者返回指针位置。

l          设置DefaultDatabase属性可以为连接指定一个默认的数据库。

l          设置IsolationLevel属性可以确定事务(Transaction)在连接的隔离等级。

l          设置Provider可以为连接指定一个OLE-DB寄主。

l          使用OpenClose方法来建立和中断一个连接。

l          使用Execute方法在连接上执行命令,设置CommandTimeout属性来指定或者返回命令执行时间。

l          使用BeginTransCommitTransRollbackTrans方法以及Attributes属性来管理事务。

l          通过检查Errors对象可以知道数据源返回的错误。

l          通过Version属性可以知道ADO的版本。

l          使用OpenSchema方法可以知道数据库的计划信息。

2.命令行对象——Command

命令行对象是对数据源将要执行的一系列操作的定义。使用命令行对象来查询数据库并返回数据集对象(Recordset)形式的查询结果。命令行对象指定变量、参数以及可选项来完成对数据的操作,如添加记录、删除记录、更新记录等。命令行对象在ADO对象模型中的地位如图2-2所示。

命令行对象在ADO中的地位

使用命令行对象的各种属性和方法可以完成如下操作:

l          设置CommandText属性可以定义命令行的内容,比如SQL语句等。

l          使用Execute方法执行命令行并返回一个数据集对象(Recordset)。

l          设置CommandType属性可以优化命令的效率。

l          设置CommandTimeout属性可以指定服务器等待医疗命令执行的时间。

l          设置ActiveConnection属性可以将一个命令行对象与一个打开的连接关联。

3.数据集对象——Recordset

如果命令行指定数据以表的形式组织,执行命令行后将返回相应的数据集。通过数据集可以对记录以及组成记录的列进行各种操作。数据集对象在ADO对象模型中的地位如图2-3所示。

图 数据集对象在ADO中的地位

 为项目添加ADO

ADO虽然集成在Visual Basic 6.0中,但只是可选项。因此在创建项目后,需要为项目添加ADO

选择“Project”菜单中的“References”命令,出现如图2-4所示的列表框。在References列表框中选择“Mircrosoft ActiveX Objects 2.6 Library”选项,单击“OK”按钮。这样在程序中使用ADO时不会出现编译错误。

 

阅读(1321) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~