好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

vc如何通过ADO操作Access数据库?

数据库 的应用在应用程序中有不可缺少的作用,今天就讲解在vc下 如何 通过 ADO 操作 Access 数据库 。 首先引入ADO库的定义文件,引用msado15.dll,这个文件在系统安装盘的program files\common files\system\ado文件夹下,只需将以下代码: #import c:\prog

数据库 的应用在应用程序中有不可缺少的作用,今天就讲解在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知识。

查看更多关于vc如何通过ADO操作Access数据库?的详细内容...

  阅读:26次