ADO 简介
1、ADO是什么
ADO(ActiveX Data Object)是OLE DB数据访问方式 的一种主要对象模型。
2、ADO能做什么
•ADO最普遍的用法就是在关系数据库中查询一个表 或多个表,然后在应用程序中检索并显示查询结 果,可能还允许用户更改并保存数据。通过编程 使用ADO还可执行其他任务,包括:
•使用SQL查询数据库并显示结果。
•通过Internet访问文件存储中的信息。
•操作电子邮件系统中的消息和文件夹。
•将来自数据库的数据保存在XML文件中。
•允许用户查看数据库表中的数据并进行更改。
•创建并重新使用参数化的数据库命令。
•执行存储过程。
•动态创建称作Recordset的灵活结构,以保持、浏览和操作数据。
•执行事务型数据库操作。
•根据运行时条件,对数据库信息的本地副本进行过滤和排序。
•创建并操作来自数据库的分级结果。
•将数据库字段绑定到数据识别组件。
•创建远程的、断开连接的Recordsets。
3、ADO 对象模型
ADO对象模型包含九个对象和四个集合,如图所示,灰色背景的是对象,白色背景的是集合
对象:
•Connection对象代表与数据源的唯一会话。在使用 客户端/服务器数据库系统的情况下,该对象可以 等价于与服务器的实际网络连接。Connection对象 的某些集合、方法或属性可能不可用,这取决于提 供者支持的功能。
•Command对象用来定义针对数据源运行的具体命 令,例如 SQL 查询。
•Recordset对象表示从基本表或命令执行的结果所 得到的整个记录集合。所有Recordset对象均由记 录(行)和字段(列)组成。
•Record对象表示来自Recordset或提供者的一行数 据。该记录可以表示数据库记录或某些其他类型的 对象(例如文件或目录),这取决于提供者。
•Stream对象表示二进制或文本数据的数据流。例 如,XML 文档可以加载到数据流中以便进行命令 输入,也可以作为查询结果从某些提供者那里返 回。Stream对象可用于对包含这些数据流的字段 或记录进行操作。
•Parameter对象表示与基于参数化查询或存储过程 的Command对象相关联的参数。
•Field对象表示一列普通数据类型数据。每个 Field对象对应于Recordset中的一列。
•Property对象表示由提供者定义的ADO对象的特征。 ADO对象有两种类型的属性:内置属性和动态属性。 内置属性是指那些已在ADO中实现并且任何新对象 可以立即使用的属性。Property对象是基本提供 者所定义的动态属性的容器。
•Error对象包含有关数据访问错误的详细信息,这 些错误与涉及提供者的单个操作有关。
集合:
•Fields集合包含Recordset或Record对象的 所有Field对象。
•Properties集合包含对象特定实例的所有 Property对象。
•Parameters集合包含Command对象的所有 Parameter对象。
•Errors集合包含为响应单个提供者相关失 败而创建的所有Error对象。
4、Visual C++中使用ADO
默认情况下,Visual C++不支持ADO对象。要在程序中使用ADO对象,需要将ADO库文 件导入到工程中 #import “c:\program files\common files\system\ado \msado15.dll” no_namespace rename (“EOF”, “adoEOF”) 。
ADO库包含三个基本接口,即_ConnectionPtr接口、_CommandPtr接口和_RecordsetPtr接口。它们分别对应Connection对象、Command对象和 Recordset对象,这三个对象也是最常用的对象。
Connection 对象主要属性、方法:
主要属性:
ConnectionString:指示用于建立到数据源的连接的信息。
ConnectionTimeout:指示建立连接期间在终止尝试和产生错误之前需要等待的时间。
Mode:指示Connection对象中修改数据的有效权限,如表。
常量
值
说明
adModeRead
1
指示只读权限。
adModeReadWrite
3
指示读/写权限。
adModeRecursive
0x400000
与其他*ShareDeny* 值一起使用
adModeShareDenyNone
16
允许其他人以任何权限打开连接。
adModeShareDenyRead
4
禁止其他人以读权限打开连接。
adModeShareDenyWrite
8
禁止其他人以写权限打开连接。
adModeShareExclusive
12
禁止其他人打开连接。
adModeUnknown
0
默认值。指示尚未设置或不能确定权限。
adModeWrite
2
指示只写权限。
Connection 对象主要属性、方法:
State:指示该对象状态是打开的还是关闭的,如表。
常量
值
说明
adStateClosed
0
指示对象已关闭。
adStateOpen
1
指示对象已打开。
adStateConnecting
2
指示对象正在连接。
adStateExecuting
4
指示对象正在执行命令。
adStateFetching
8
指示正在检索对象的行。
主要方法:
Open:打开到数据源的连接。
Close:关闭打开的对象和任何相关的对象。
Execute:执行指定的查询、SQL 语句、存储过程或提供者特有的文本。
Command对象主要属性、方法:
主要属性:
ActiveConnection :指示对象当前所属的 Connection 对象。
CommandText :指示要根据提供者发出的命令文本。
主要方法:
Execute:执行CommandText 属性中指定的查询、SQL 语句或存 储过程。
RecordSet 对象主要属性、方法:
主要属性:
AbsolutePosition:指示Recordset对象的当前记录的序号位置。
BOF 和EOF :指示当前记录位置位于 Recordset 对象的第一个 记录之前和最后一个记录之后。
MaxRecords:指示由查询返回给Recordset 的最大记录数目。
主要方法:
Move:在Recordset 对象中移动当前记录的位置。
MoveFirst、MoveLast、MoveNext、MovePrevious:移动到指定的 Recordset 对象中的第一个、最后一个、下一个或上一个 记录并使其成为当前记录。
Open:打开游标,该游标表示基本表中的记录、查询的结果或以前保存的 Recordset。
评论
查看更多