在程序的开始,首先导入所需要的库:#import “c:\program files\common files\system\ado\msado15.dll” no_namespace rename(“EOF”, “adoEOF”) ,这里重命名EOF是必要的,因为典型的VC应用都已经定义了EOF作为常数-1。
参考:https://blog.csdn.net/flywithmj/article/details/7346764

#include <sql.h>   //数据库头文件
#include <sqlext.h>
#include <odbcinst.h>
#include <iostream>
#import "c:\program files\common files\system\ado\msado15.dll"  no_namespace  rename ("EOF", "adoEOF")BOOL bConn;
bConn=SQLConfigDataSource(NULL, ODBC_ADD_DSN, "Microsoft Access Driver (*.mdb)", ("CREATE_DB="+mdbName+" General\0").c_str());  //创建.mdb文件
if(!bConn)std::cout<<"connect failed!!"<<std::endl;
Initialize(NULL);         //初始化OLE/COM库环境//在引入ado并初始化成功com库后,就可以使用智能指针了_ConnectionPtr m_pConnection;  _RecordsetPtr m_pRecordset;  HRESULT hr;try{hr = m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象if(SUCCEEDED(hr)){            hr = m_pConnection->Open(("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+"数据库文件路径如C:\\yyyy\\666.mdb").c_str(),"","",adModeUnknown);          //access2003//            hr = m_pConnection->Open("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=test.accdb","","",adModeUnknown);    //access2007printf("成功连接数据库\n");}}catch(_com_error e)///捕捉异常{       printf("连接数据库失败!\n");ogde::util::Log::getDefaultInstance()->addErrorInfo(mdbPath,"","连接数据库失败!");return 0;}m_pRecordset.CreateInstance(__uuidof(Recordset)); //实例化结果集对象   try  {   _variant_t ra;std::string sql="CREATE TABLE "+"表名"+"(";for(int i=0,sum=vec.size();i<sum;++i){if(i!=0)sql=sql+",";sql=sql+vec[i].mdbField+" TEXT";}sql=sql.append(")");if(!m_pConnection->Execute(sql.c_str(),&ra,adCmdText)) {std::cout<<"创建表失败";ogde::util::Log::getDefaultInstance()->addErrorInfo(layerName,"","创建表失败");return false;}}   catch(_com_error* e)   {   wprintf((const wchar_t *)(e->ErrorMessage()));   if(m_pConnection->State)   {   m_pConnection->Close();   m_pConnection= NULL;   }CoUninitialize();return 0;   } 

Access数据库不支持事务操作,可以使用ADO类来实现类似事务操作,不过效率也不高。如果需要导入或者导出大量数据可以试试

std::string sql="INSERT INTO "+"表名"+" SELECT * FROM [Text;DATABASE="+"txt路径如 C:\\yyyy"+"].文件名如Test.txt";
m_pConnection->Execute(sql.c_str(),&ra,adCmdText);

可以将txt内容导入到数据库。 文本第一行是字段名,列之间用,分开。

C++使用ADO连接Access数据库方法相关推荐

  1. ADO连接Access数据库,Access版本问题

    最近做项目需要用到Access数据库,采用ADO连接Access数据库,需要注意的地方如下: 1.程序初始化的时候,需要初始化OLE库 // 初始化 OLE 库  if (!AfxOleInit()) ...

  2. VS2013下MFC通过ADO连接Access数据库

    (VS2013+Access2003) 1. 新建一个基于对话框的MFC项目:ADO_Access0306 在stdafx.h头文件末尾添加(网上有说在某个#include后面的添加的,也有说在合适位 ...

  3. VC6.0 通过ado连接access数据库

    小实例 http://download.csdn.net/detail/cxq_1993/8985731 ADO连接数据库 1.COM库的初始化 我们可以使用AfxOleInit()来初始化COM库, ...

  4. VS2019通过ADO连接access数据库(详细)

    1.建立数据库,在控制面板->管理工具->数据源中添加数据源. 在系统DSN中点击添加 选择  Microsoft Access Driver(*.mdb) 自行对数据源进行命名,并点击选 ...

  5. ADO连接ACCESS数据库

    使用ADOX,需要引入ADOX的动态链接库msadox.dll,首先在stdafx.h中加入如下语句: #import "c:/program files/common files/syst ...

  6. asp.net 连接access数据库方法

    在 Web.Config 中配置 Access 数据库驱动和数据库文件名称. 请看代码 <appSettings> <add key="DBDriver" val ...

  7. vba 连接access数据库 方法二

    Sub 连接数据库() '第一步,引用ADO 工具,工具->引用->microsoft ActiveX Data Objects 6.1 Library '第二步,创建连接对象 '1 .声 ...

  8. mfc连接oracle12c,MFC ADO连接Oracle12c数据库 类库文件

    Stdafx.h Stdafx.h libado.h libado.h libado.cpp libado.cpp 参考网址如下:http://www.cnblogs.com/livewithnore ...

  9. php如何连接access,php如何连接access数据库代码

    php教程 连接access数据库教程代码 下面提供三种php连接access数据库方法,一种是利用php的pdo,一种是odbc,com接口来与access数据库连接哦. *///利用pdo与acc ...

  10. 使用VC连接Access数据库的两种方法

    以前的时候用VC写了两种连接Access数据库的方法,为了方便以后查找把这两种方法做一下简单的介绍.Windows平台的数据接口标准有ODBC.OLE DB.ADO和Borland的BDE接口,ODB ...

最新文章

  1. 赌5毛钱,你解不出这道Google面试题
  2. 基于表单的网站身份验证的权威指南[关闭]
  3. OPhone2.0应该重在中文应用体验
  4. leetcode 58. 最后一个单词的长度(C语言)
  5. JavaScript 读取地址栏参数
  6. String 转Clob
  7. myeclipse服务器未能创建视图:抛出意外异常。
  8. 获取浏览器选中文本并操作
  9. pscc2019滤镜抽出_「PS-CC2019新版教程」魔棒工具,让你一秒钟完成抠图-基础篇
  10. 最小二乘(OLS)回归法及其在R中的…
  11. 经典数学问题——三门问题(数据分析面试题)
  12. name = STXingkai/OT, rootname = STXingkai/OT LaTex Package fontspec Error报错解决
  13. Leetcode LCP 17. 速算机器人
  14. java字符串进行中文、特殊字符编码
  15. CSS3选择器(选择符)
  16. 电商系统-提交订单并发处理
  17. Oracle索引(Index)创建使用
  18. 交通运输大数据发展特点、政策、应用及趋势 | 交通运输部科学研究院黄莉莉
  19. 真兰仪表通过深交所注册:拟募资17.4亿 上半年净利下降27%
  20. GBDT(MART)概念简介

热门文章

  1. 任强-京东智能云服务平台
  2. python 倒计时手机app打卡_摆脱拖延症,这些APP让你的时间更高效!
  3. python虚拟宠物猫
  4. xlwings对excle文档设置条件格式
  5. 二阶魔方还原 C++ BFS
  6. 针孔相机畸变成像详解
  7. 与 WinHTTP Web Proxy Auto-Discovery Service 服务相依的 DHCP Client 服务因下列错误而无法启动
  8. MISC之常用编码总结
  9. 利用bootstrap实现的响应式导航条
  10. 不服不行,太厉害了,终于有人能把TCP/IP 协议讲的明明白白了