MFC通过ADO操作Access数据库.doc

MFC通过ADO操作Access数据库.doc

ID:50812017

大小:50.50 KB

页数:9页

时间:2020-03-14

MFC通过ADO操作Access数据库.doc_第1页
MFC通过ADO操作Access数据库.doc_第2页
MFC通过ADO操作Access数据库.doc_第3页
MFC通过ADO操作Access数据库.doc_第4页
MFC通过ADO操作Access数据库.doc_第5页
资源描述:

《MFC通过ADO操作Access数据库.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、MFC通过ADO操作Access数据库我在《VC知识库在线杂志》第十四期和第十五期上曾发表了两篇文章——“直接通过ODBC读、写Excel表格文件”和“直接通过DAO读、写Access文件”,先后给大家介绍了ODBC和DAO两种数据库访问技术的基本使用方法,这次要给大家介绍的是ADO数据库访问技术的使用方法。ADO(ActiveDataObject,活动数据对象)实际上是一种基于COM(组件对象模型)的自动化接口(IDispatch)技术,并以OLEDB(对象连接和镶入的数据库)为基础,经过OLEDB精心包装后的数据库访问技术,利用它可以快速的创建

2、数据库应用程序。ADO提供了一组非常简单,将一般通用的数据访问细节进行封装的对象。由于ODBC数据源也提供了一般的OLEDBPrivider,所以ADO不仅可以应用自身的OLEDBPrivider,而且还可以应用所有的ODBC驱动程序。关于OLEDB和ADO的其它详细情况,读者可以自行查阅相关书籍或MSDN,这里就不一一说明了。让我们直接步入主题:如何掌握ADO这种数据库访问技术。ADO的操作方法和前面讲过的DAO的操作在很多方面存在相似之处,在这里,笔者为了更有效的说明它的使用方法,用VC6.0做了一个示例程序——AdoRWAccess,这个示例

3、程序可以直接通过ADO来操作Access数据库,示例程序的运行效果如下图所示:在示例程序中我们仍采用原库结构,数据库名Demo.mdb,库内表名DemoTable,表内字段名为Name(姓名)和Age(年龄)的两个字段,来构造示例程序操作所需的Access数据库,这也和上两篇文章的示例源码中的库结构相兼容。下面让我们看看ADO数据库访问技术使用的基本步骤及方法:   首先,要用#import语句来引用支持ADO的组件类型库(*.tlb),其中类型库可以作为可执行程序(DLL、EXE等)的一部分被定位在其自身程序中的附属资源里,如:被定位在msado

4、15.dll的附属资源中,只需要直接用#import引用它既可。可以直接在Stdafx.h文件中加入下面语句来实现:#import"c:programfilescommonfilessystemadomsado15.dll"o_namespacerename("EOF","adoEOF")其中路径名可以根据自己系统安装的ADO支持文件的路径来自行设定。当编译器遇到#import语句时,它会为引用组件类型库中的接口生成包装类,#import语句实际上相当于执行了API涵数LoadTypeLib()。#import语句会在工程可执行程序

5、输出目录中产生两个文件,分别为*.tlh(类型库头文件)及*.tli(类型库实现文件),它们分别为每一个接口产生智能指针,并为各种接口方法、枚举类型,CLSID等进行声明,创建一系列包装方法。语句no_namespace说明ADO对象不使用命名空间,rename("EOF","adoEOF")说明将ADO中结束标志EOF改为adoEOF,以避免和其它库中命名相冲突。   其次,在程序初始过程中需要初始化组件,一般可以用CoInitialize(NULL);来实现,这种方法在结束时要关闭初始化的COM,可以用下面语句CoUnInitialize();

6、来实现。在MFC中还可以采用另一种方法来实现初始化COM,这种方法只需要一条语句便可以自动为我们实现初始化COM和结束时关闭COM的操作,语句如下所示:AfxOleInit();   接着,就可以直接使用ADO的操作了。我们经常使用的只是前面用#import语句引用类型库时,生成的包装类.tlh中声明的智能指针中的三个,它们分别是_ConnectionPtr、_RecordsetPtr和_CommandPtr。下面分别对它们的使用方法进行介绍:1、_ConnectionPtr智能指针,通常用于打开、关闭一个库连接或用它的Execute方法来执行一个

7、不返回结果的命令语句(用法和_CommandPtr中的Execute方法类似)。——打开一个库连接。先创建一个实例指针,再用Open打开一个库连接,它将返回一个IUnknown的自动化接口指针。代码如下所示:_ConnectionPtrm_pConnection;//初始化COM,创建ADO连接等操作AfxOleInit();m_pConnection.cc(__uuidof(Connection));//在ADO操作中建议语句中要常用try...catch()来捕获错误信息,//因为它有时会经常出现一些意想不到的错误。jingzhouxutry{

8、//打开本地Access库Demo.mdbm_pConnection->Open("Provider=Microsoft.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。