找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 4198|回复: 0

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

[复制链接]
发表于 2011-12-6 12:51:35 | 显示全部楼层 |阅读模式

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


首先引入ADO库的定义文件,引用msado15.dll,这个文件在系统安装盘的program files\common files\system\ado文件夹下,只需将以下代码:
  1. #import “c:\program files\common files\system\ado\msado15.dll”
  2. \
  3. no_namespace \
  4. rename (“EOF”, “adoEOF”)
复制代码

添加到StdAfx.h下便可。

再次,便是初始化COM库,这个步骤通常在初始化窗口时实现,代码如下:
AfxOleInit();
第三步便是利用建立好的连接通过Connection、Command对象执行SQL命令,或利用Recordset对象取得结果记录集进行查询、处理等。
// 定义ADO连接、命令、记录集变量指针
_ConnectionPtr m_pConnection;
_CommandPtr  m_pCommand;
_RecordsetPtr m_pRecordset;

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

  1. m_pConnection.CreateInstance(__uuidof(Connection));//
  2. 初始化COM,创建ADO连接等操作
  3. try               
  4. {
  5.   //
  6. 打开本地Access库Demo.mdb
  7.   m_pConnection->Open(“Provider=Microsoft.Jet.OLEDB.4.0;Data
  8. Source=Demo.mdb”,”",”",adModeUnknown);
  9. }
  10. catch(_com_error
  11. e)
  12. {
  13.   AfxMessageBox(“数据库连接失败,确认数据库Demo.mdb是否在当前路径下!”);
  14.   return
  15. FALSE;
  16. }
  17. m_pRecordset.CreateInstance(__uuidof(Recordset));// 使用ADO创建数据库记录集
  18.   //
  19. 在ADO操作中建议语句中要常用try…catch()来捕获错误信息,
  20. //
  21. 因为它有时会经常出现一些想不到的错误。
  22. try
  23. {
  24.   m_pRecordset->Open(“SELECT * FROM
  25. DemoTable”,    // 查询DemoTable表中所有字段
  26.        m_pConnection.GetInterfacePtr(),  
  27. //
  28. 获取库接库的IDispatch指针
  29.        adOpenDynamic,
  30.        adLockOptimistic,
  31.        adCmdText);
  32. }
  33. catch(_com_error
  34. *e)
  35. {
  36.   AfxMessageBox(e->ErrorMessage());
  37. }
复制代码

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

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


原文链接:http://www.limou.net/?p=582
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-3-29 16:41 , Processed in 0.017919 second(s), 8 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表