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。
5G带动 RF前端模块与组件市场2022年将达227亿美元
韩媒称以长鑫存储为代表的中国半导体企业的实力不可小视
MCU在低功耗时的静态功耗解析
终于等到你 双卡双待的iPhone
AI可识别语音情感模型 在1.2秒内判断你的愤怒
ADO简介,什么是ADO,ADO是什么意思?
下一代SiC半导体在汽车中的应用
浅析PCB板分类四大标准
苹果曾与日产就生产自动驾驶汽车接洽,但双方对话已经暂停
海信激光电视每销售10台有9台来自海信 海信激光电视势头难挡
5G产品研发和商用部署进入冲刺阶段 陆续进行5G商转规划
省支提效,福特用无人机监查伦敦发动机工厂
自制LinkNode R4图解
亚马逊测试一款名为Scout的送货机器人 未来或将参与送餐服务
关于Python 浮点数哪些冷知识
一加5什么时候上市最新消息:一加5旗舰备货充足,玩点新花样,一加5包装盒风格由网友决定?
长电韩国厂布局系统级封装,客户有三星和LG
电瓶修复—新电池可以放置多长时间?1
零序电流互感器和电流互感器的区别
中移互联网公司将以“5G消息+号+卡”形成AaaS级服务(能力即服务)