《VC语言6.0程序设计从入门到精通》第129章


o Value 属性是包含属性设置的变体型;
o Attributes 属性是指示特定于提供者属性特征的长整型值。
4 .错误对象
Error 对象用于获得连接对象所发生的详细错误信息,它的主要属性如表 12…12 所示。
表 12…12 错误对象的属性及其说明
属性 说明
Description 获得错误的简要说明
NativeError 获得对特殊的 Error 对象检索特定数据库的错误信息
Number 确定发生错误的类型,该属性的值是与错误条件对应的惟一数字
Source 确定产生错误的原始对象或应用程序的名称,该名称可以是对象的类名或编程 ID
SQLState 读取由提供者在处理 SQL 语句过程中出现错误时返回的 5 个字符的错误代码
12。5。5 集合
ADO 有 4 个集合,分别是域集合 Fields 、参数集合 Parameters 、属性集合 Properties 以及 
错误集合 Errors 。
1.域集合
Fields 集合包含 Recordset 对象的所有 Field 对象,它的常用方法和属性分别如表 12…13 
和表 12…14 所示。
表 12…13 域集合的方法及其说明
方法 说明
Append 添加新的 Field 对象到 Fields 集合中
Delete 从 Fields 集合中删除 Field 对象
Refresh 更新 Fields 集合中的 Field 对象
Item 返回 Fields 集合中的 Field 对象
表 12…14 域集合的属性及其说明
属性 说明
Count 确定给定 Fields 集合中 Field 对象的数目
2 .参数集合
Parameters 集合包含 mand 对象的所有 Parameter 对象,它的常用方法和属性分别如 
表 12…15 和表 12…16 所示。
·349 ·
…………………………………………………………Page 361……………………………………………………………
Visual C++ 6。0 程序设计从入门到精通
表 12…15 参数集合的方法及其说明
方法 说明
Append 添加新的 Parameter 对象到 Parameters 集合中
Delete 从 Parameters 集合中删除 Parameter 对象
Refresh 更新 Parameters 集合中的 Parameter 对象
Item 返回 Parameters 集合中的 Parameter 对象
表 12…16 参数集合的属性及其说明
属性 说明
Count 确定给定 Parameters 集合中 Parameter 对象的数目
3 .属性集合
Properties 集合包含特定对象实例的所有 Property 对象,它的常用方法和属性分别如表 
12…17 和表 12…18 所示。
表 12…17 属性集合的方法及其说明
方法 说明
Refresh 更新 Properties 集合中的 Property 对象
Item 返回 Properties 集合中的 Property 对象
表 12…18 属性集合的属性及其说明
属性 说明
Count 确定给定 Properties 集合中 Property 对象的数目
4 .错误集合
Errors 集合包含为响应涉及提供者的单个错误而创建的所有 Error 对象,它的常用方法和 
属性分别如表 12…19 和表 12…20 所示。
表 12…19 错误集合的方法及其说明
方法 说明
清空 Errors 集合中的全部 Error 对象,发生错误时,ADO 会自动清空 Errors 集合, 
Clear
并用新的 Error 对象填充 Errors 集合
Item 返回 Errors 集合中的 Error 对象
表 12…20 错误集合的属性及其说明
属性 属性
Count 确定给定 Errors 集合中 Error 对象的数目
12。6 数据库操作
本节将给出一个具体的利用 ADO 技术操作数据库的实例,通过这个实例,读者对 ADO 
技术会有更进一步的了解。
·350 ·
…………………………………………………………Page 362……………………………………………………………
第 12 章 数据库开发
12。6。1 动态链接库的引入和 OLE/ 库的初始化
利用 ADO 技术编写程序,首先要告诉编译器去什么地方找 ADO 的库文件,通常这个文 
件在 c:program filesmon filessystemado 下,文件名为 msado15。dll 。因此,第一步应该 
在文件“stdafx。h ”的开头加上如下语句:
#import 〃c:program filesmon filessystemadomsado15。dll〃 no_namespace rename(〃EOF〃; 〃adoEOF〃)
使用 no_namespace 意味着程序员不需要在初始化变量的时候引用名字空间,最后的操作 
表明将 EOF 更名为 adoEOF,如果不这样做,在程序中很可能会碰到常量冲突。
将 ADO 的动态链接库引入后,在正式用 ADO 编写程序前,还需要对 OLE/ 库初始 
化,代码如下:
CoInitialize( NULL );
12。6。2 ADO 与数据库的连接
引入 ADO 库并初始化 OLE/ 后,接下来要进行 ADO 与数据库的连接。
ADO 与数据库连接时,有一个最重要的数据类型,即_ConnectionPtr ,它实际上就是由 
类模板__ptr_t 而得到的一个具体的实例类。_ConnectionPtr 类封装了 Connection 对象的 
Idispatch 接口指针,及一些必要的操作,通过这个指针便可以操纵 Connection 对象。通常的 
连接实现方式如下:
_ConnectionPtr conn;
conn。CreateInstance(__uuidof(Connection));
conn…》Open(BSTR ConnectionString; BSTR UserID; BSTR Password; long Options);
各参数意义如下:
o ConnectionString :最关键的参数,它表明了要连接的数据源,在本章中采用的是 Access 
数据库,它的格式一般为: 〃Provider=Microsoft。Jet。OLEDB。4。0;Data Source=db。mdb〃, 
至于其他数据库,请读者参考相关资料;此外,ConnectionString 还可以是数据源的名 
字。
o UserID :用户名,如果 ConnectionString 中已经包含,则可以为空。
o Password :密码,如果 ConnectionString 中已经包含,则可以为空。
o Options :表示是以同步方式(adConnectUnspecified)还是以异步方式(adAsyncConnect) 
进行连接,默认为同步。
具体的,有以下两种实现连接的方式:
(1)LPCSTR strConnect = 〃Provider=Micr
小说推荐
返回首页返回目录