ADO编程实用宝典

 

 
引入ADO类型库
Activex Objects Model首先是一组COM对象模型。所以通常我们需要引入其类型库,以下是引入类型库的语句
#import "c:/program files/common files/system/ado/msado15.dll" no_namespace raw_interfaces_only rename ("EOF","ADOEOF")
     这里 no_namespace 表示引入的类型不会放在名字空间里。raw_interfaces_only表示只使用COM的原始接口方法调用,而不使用包装接口。区别就是包装接口总是用异常的方式报错,而原始接口方法通过返回HRESULT值报告信息;同时,参数类型和数目略有区别。
    编译器将生成 msado15.tlh文件,该文件包含了ADO中的各种类型
创建与数据库的连接
       首先我们声明连接对象。msado15.tlh文件中对于连接对象如下说明,
struct __declspec(uuid("00000514-0000-0010-8000-00aa006d2ea4"))
Connection;
    // [ default ] interface _Connection
    // [ default, source ] dispinterface ConnectionEvents
以下是创建连接对象的代码:
CComPtr<_Connection> pCon;
HRESULT hr=pCon.CoCreateInstance(__uuidof(Connection));
或者 HRESULT hr=pCon.CoCreateInstance(L"ADODB.Connection");
     很多书上介绍使用_ConnectionPtr,实际上都是智能指针,只是个人习惯而已,这些智能指针类通过重载operator ->()函数暴露了接口方法。
    然后使用 udl文件和某数据库连接,我非常喜欢使用udl文件的方式,而不喜欢使用字符串与数据库连接,因为如果不小心差了一个空格,数据库连接就会出错,有时候错误一开始不会发生,但是说不定哪天就冒出来了。所以我的文章最后会给出数据库的连接字符串,但是不推荐使用。
    pCon->put_ConnectionString(CComBSTR(L"File Name=c://fqw.udl"));
     hr=pCon->Open(L"",L"",L"",NULL);
 
使用_Connection接口
 
Connection;
    // [ default ] interface _Connection
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值