ado第一次亲密接触 -- ado开发实践之一
一.ado简介 【程序编程相关:文档 视图 框架窗口间的关系和消息传送规】 【推荐阅读:http://www.myfaq.com】本文示例代码 【扩展信息:Visual C++ 6.0的文档/视结】ado(activex data object)是microsoft数据库应用程序开发的新接口,是建立在ole db之上的高层数据库访问技术,请不必为此担心,即使你对ole db,com不了解也能轻松对付ado,因为它非常简单易用,甚至比你以往所接触的odbc api.dao.rdo都要容易使用,并不失灵活性.本文将详细地介绍在vc下如何使用ado来进行数据库应用程序开发,并给出示例代码.二.基本流程
万事开头难,任何一种新技术对于初学者来说最重要的还是“入门”,掌握其要点.让我们来看看ado数据库开发的基本流程吧!(1)初始化com库,引入ado库定义文件(2)用connection对象连接数据库(3)利用建立好的连接,通过connection.command对象执行sql命令,或利用recordset对象取得结果记录集进行查询.处理.(4)使用完毕后关闭连接释放对象.准备工作:
为了大家都能测试本文提供的例子,我们采用access数据库,您也可以直接在我们提供的示例代码中找到这个test.mdb.下面我们将详细介绍上述步骤并给出相关代码.com库的初始化我们可以使用afxoleinit()来初始化com库,这项工作通常在cwinapp::initinstance()的重载函数中完成,请看如下代码: bool cadotest1app::initinstance() { afxoleinit(); ......用#import指令引入ado类型库
我们在stdafx.h中加入如下语句:(stdafx.h这个文件哪里可以找到?你可以在fileview中的header files里找到)#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("eof","adoeof")
这一语句有何作用呢?其最终作用同我们熟悉的#include类似,编译的时候系统会为我们生成msado15.tlh,ado15.tli两个c++头文件来定义ado库.几点说明:
(1) 您的环境中msado15.dll不一定在这个目录下,请按实际情况修改(2) 在编译的时候肯能会出现如下警告,对此微软在msdn中作了说明,并建议我们不要理会这个警告.msado15.tlh(405) : warning c4146: unary minus operator applied to unsigned type, result still unsigned创建connection对象并连接数据库
首先我们需要添加一个指向connection对象的指针:_connectionptr m_pconnection;下面的代码演示了如何创建connection对象实例及如何连接数据库并进行异常捕捉.... 下一页