ADO接口简介

来源:互联网 发布:tp框架非法数据对象 编辑:程序博客网 时间:2024/05/21 16:55

一、 三个基本接口

本系统要用ADO当中的三个基本接口:_ConnectionPtr接口、_CommandPtr接口和、_RecordsetPtr接口。

_ConnectionPtr接口返回一个记录集或一个空指针。通常使用它来创建一个数据连接或执行一条不返回任何结果的SQL语句,如一个存储过程。用_ConnectionPtr接口返回一个记录集不是一个好的使用方法。通常同CDatabase一样,使用它创建一个数据连接,然后使用其它对象执行数据输入输出操作。

_CommandPtr接口返回一个记录集。它提供了一种简单的方法来执行返回记录集的存储过程和SQL语句。在使用_CommandPtr接口时,可以利用全局_ConnectionPtr接口,也可以在_CommandPtr接口里直接使用连接串。如果只执行一次或几次数据访问操作,后者是比较好的选择。但如果要频繁访问数据库,并要返回很多记录集,那么,应该使用全局_ConnectionPtr接口创建一个数据连接,然后使用_CommandPtr接口执行存储过程和SQL语句。

_RecordsetPtr是一个记录集对象。与以上两种对象相比,它对记录集提供了更多的控制功能,如记录锁定,游标控制等。同_CommandPtr接口一样,它不一定要使用一个已经创建的数据连接,可以用一个连接串代替连接指针赋给_RecordsetPtr的connection成员变量,让它自己创建数据连接。如果要使用多个记录集,最好的方法是同Command对象一样使用已经创建了数据连接的全局—ConnectionPtr接口,然后使用_RecordsetPtr执行存储过程和SQL语句。

二、 ADO当中的COM数据类型

在ADO当中使用的输入输出数据类型大部分是标准数据类型。但是一些参数(如:数据库字段值,出错处理信息,SQL命令等)必须使用专用的COM数据类型:VARIANT,BSTR,HRESULT,SAFEARRAY及相关的COM封装类:_variant_t,_bstr_t和_com_error。

VARIANT

VARIANT是一个结构,该结构的成员包含数据的类型名和数据的取值。VARIANT结构中可以存放各种各样的数据,包括编程语言的各种数据类型。如:货币,日期,所有的COM接口类型。_variant_t类封装了VARIANT数据类型,并提供了管理VARIANT的方法。在ADO接口操作当中数据库的操作都是经过_variant_t类封装的VARIANT结构来传递的。

BSTR

BSTR是一个包含了字符串长度值及其缓冲区的结构,_bstr_t类封装了BSTR的数据结构和管理该数据的方法。我在ADO接口中字符串的传递就是通过它来传递的!

三HRESULT

在COM当中,大多数操作要返回一个HRESULT的返回值,用来测定方法调用是否成功。它是一个32位的无符号数。例如:我在进行更新多表的操作时,如果只对的某一个表进行了更新,而另外的表没有成功执行,类型库的封装程序就会检查到这个值,调用_com_issue_error()方法,抛出相应的_com_error异常,我们就要对这个异常捕获,并进行相应的处理,否则,就会产生脏数据

0 0
原创粉丝点击