设为首页 加入收藏

TOP

vc如何通过ADO操作Access数据库?
2015-01-25 00:25:57 来源: 作者: 【 】 浏览:208
Tags:如何 通过 ADO 操作 Access 数据库

?

数据库的应用在应用程序中有不可缺少的作用,今天就讲解在vc下如何通过ADO操作Access数据库

?

首先引入ADO库的定义文件,引用msado15.dll,这个文件在系统安装盘的program files\common files\system\ado文件夹下,只需将以下代码:

?

#import “c:\program files\common files\system\ado\msado15.dll” \

?no_namespace \

?rename (“EOF”, “adoEOF”)

?

添加到StdAfx.h下便可。 www.2cto.com

?

再次,便是初始化COM库,这个步骤通常在初始化窗口时实现,代码如下:

?

AfxOleInit();

?

第三步便是利用建立好的连接通过Connection、Command对象执行SQL命令,或利用Recordset对象取得结果记录集进行查询、处理等。

?

// 定义ADO连接、命令、记录集变量指针

?_ConnectionPtr m_pConnection;

?_CommandPtr? m_pCommand;

?_RecordsetPtr m_pRecordset;

?

以数据库Demo.mdb为例,以下代码初始化各指针:

?

m_pConnection.CreateInstance(__uuidof(Connection));// 初始化COM,创建ADO连接等操作

?try???????????????

?{

? // 打开本地Access库Demo.mdb

? m_pConnection->Open(“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Demo.mdb”,”",”",adModeUnknown);

?}

?catch(_com_error e)

?{

? AfxMessageBox(“数据库连接失败,确认数据库Demo.mdb是否在当前路径下!”);

? return FALSE;

?}

?

m_pRecordset.CreateInstance(__uuidof(Recordset));// 使用ADO创建数据库记录集

? // 在ADO操作中建议语句中要常用try…catch()来捕获错误信息,

?// 因为它有时会经常出现一些想不到的错误。

?try

?{

? m_pRecordset->Open(“SELECT * FROM DemoTable”,??? // 查询DemoTable表中所有字段

?????? m_pConnection.GetInterfacePtr(),? // 获取库接库的IDispatch指针

?????? adOpenDynamic,

?????? adLockOptimistic,

?????? adCmdText);

?}

?catch(_com_error *e)

?{

? AfxMessageBox(e->ErrorMessage());

?}

?

其次便可进行查询、修改、删除等操作了。

?

请关注?? 李木空间? www.limou.net?? 更多MFC知识。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇设置进程路径为启动路径 下一篇出现"eh.h is only for C++!..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: