以前的时候用VC写了两种连接Access数据库的方法,为了方便以后查找把这两种方法做一下简单的介绍。Windows平台的数据接口标准有ODBC、OLE DB、ADO和Borland的BDE接口,ODBC(Open DataBase Connectivity)只能用于访问关系型数据库,为了访问非关系型数据微软设计了OLE DB接口并在此基础上推出了ADO(ActiveX Data Objects)。本文介绍的方法是ODBC和ADO。
一、使用ODBC接口,在这里我们使用MFC的CDatabase类,该类是对SQLConnect等ODBC的API的封装。需要包含afxdb.h
BOOL ODBCConnect(CString strDBFile)
{
CString strConnect;
strConnect.Format(_T("ODBC;DRIVER={MICROSOFT ACCESS DRIVER (*.mdb)};UID=sa;PWD=;DBQ=%s"), strDBFile);
CDatabase db;
if(db.Open(NULL, FALSE, FALSE, strConnect))
{
//连接数据库成功
CRecordset rs(&db);
CString strSql;
strSql = _T("select * from info");                                //SQL语句
rs.Open(AFX_DB_USE_DEFAULT_TYPE, strSql);                        //执行Sql语句(可添加 删除 查询等)
if(rs.IsOpen())
{
CDBVariant variant;
rs.MoveFirst();
while(!rs.IsEOF())
{
//读取记录
rs.GetFieldValue(_T("姓名"), variant);
rs.MoveNext();
}
}
db.Close();
return TRUE;
}
return FALSE;
}
二、使用ADO连接数据库,因为要使用COM,需要初始化(CoInitialize).然后就可以生成接口的对象操作,代码如下:
#import "C:Program Files/Common Files/System/ado/msado15.dll" rename("EOF", "adoEOF")    //生成C++类,改变EOF函数的名称
using namespace ADODB;
BOOL ADOConnect(CString strDBFile)
{
_ConnectionPtr pConnection;
if(pConnection.CreateInstance(__uuidof(Connection)) != S_OK)
{
return FALSE;
}
CString strConnect;
strConnect.Format(_T("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s"), strDBFile);
if(pConnection->Open(_bstr_t(strConnect), "", "", adModeUnknown) == S_OK)
{
//连接数据库成功
_RecordsetPtr pRecordset;
if(pRecordset.CreateInstance(__uuidof(Recordset)) != S_OK)
{
pConnection->Close();
return FALSE;
}
CString strSql;
strSql = _T("select * from info");
HRESULT hr = pRecordset->Open(_bstr_t(strSql), _variant_t((IDispatch*)pConnection, TRUE), adOpenUnspecified, adLockUnspecified, adCmdUnknown);
if(hr != S_OK)
{
pConnection->Close();
return FALSE;
}
_variant_t vt;
pRecordset->MoveFirst();
while(!pRecordset->adoEOF)
{
vt = pRecordset->Fields->GetItem("姓名")->Value;
pRecordset->MoveNext();
}
pConnection->Close();
return TRUE;
}
return FALSE;
}
最新内容请见作者的GitHub页:http://qaseven.github.io/

使用VC连接Access数据库的两种方法相关推荐

  1. java 连接 Access数据库的两种方法

    1:不使用WINDOW的建立数据源方法 直接在JAVA代码内部与Access数据库连接 注意:jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};这里 ...

  2. c 连接mysql数据库_C++连接mysql数据库的两种方法

    现在正做一个接口,通过不同的连接字符串操作不同的数据库.要用到mysql数据库,以前没用过这个数据库,用access和sql server比较多.通过网上的一些资料和自己的摸索,大致清楚了C++连接m ...

  3. cad与连接mySQL数据库_C++连接mysql数据库的两种方法

    现在正做一个接口,通过不同的连接字符串操作不同的数据库.要用到mysql数据库,以前没用过这个数据库,用access和sql server比较多.通过网上的一些资料和自己的摸索,大致清楚了C++连接m ...

  4. access后台链接mysql_ASP.NET连接 Access数据库的几种方法

    web.config 第一种方法: 第二种方法: 后台 aspx.CS using System; using System.Collections.Generic; using System.Lin ...

  5. cpp 怎么连接mysql_C++连接mysql数据库的两种方法

    现在正做一个接口,通过不同的连接字符串操作不同的数据库.要用到mysql数据库,以前没用过这个数据库,用access和sql server比较多.通过网上的一些资料和自己的摸索,大致清楚了C++连接m ...

  6. 具体解释VB中连接access数据库的几种方法

    在VB中,连接ACCESS数据库的方法主要有以下三种 使用ADO对象,通过编写代码訪问数据库 Connection 对象 ODBC数据源 使用ADO Data 控件高速创建数据库连接 有三种连接方法 ...

  7. 详解VB中连接access数据库的几种方法

    在VB中,连接ACCESS数据库的方法主要有下面三种 使用ADO对象,通过编写代码访问数据库 Connection 对象 ODBC数据源 使用ADO Data 控件快速创建数据库连接 有三种连接方法 ...

  8. idea 2020.1 连接MySQL数据库的两种方法

    方法一: 结构: MySQL数据库和表 表结构: 注:id为自增 数据库配置文件: drive=com.mysql.jdbc.Driver url=jdbc:mysql://localhost/ da ...

  9. 易语言链接mdb和accdb数据库的两种方法

    易语言链接Access数据库经常会遇到链接错误,其实主要是看你的电脑 Microsoft Access的版本,也就是要看看你数据库文件的后缀是 .mdb还是.accdb PS: access2003以 ...

最新文章

  1. RDKit | 将rdMolDraw2D和RDKit生成的结构图输出到Excel
  2. Codeforces 768E:Game of Stones
  3. 【C++ 语言】容器 ( queue 队列 | stack 栈 | priority_queue 优先级队列 | set 集合 | 容器遍历 | map )
  4. 关于grep的引号使用问题
  5. Oracle数据库管理系统:大数据的备份
  6. 敏感词过滤的php代码,php实现敏感词过滤(Trie树)
  7. 冀教版五年级计算机教学计划,冀教版五年级上册教学计划资料
  8. 前端学习(3257):js高级教程(1)准备
  9. html制作卡通图案代码,CSS画的卡通动画图案
  10. linux下配置钉钉内网穿透_4G工业路由器内嵌花生壳PHTunnel,为工业物联网提供智能内网穿透...
  11. android 实现蓝牙自动配对连接,Android实践 -- Android蓝牙设置连接
  12. 清爽登录界面html,基于css3实现扁平简洁清爽的登录注册页面代码
  13. 软件工程:状态,行为,事件
  14. 校园网络登陆显示通信服务器异常,校园网络监控技术方案设计.docx
  15. Vue项目 设置实时时间(年月日 时分秒)两种方法
  16. Aho_Corasick_Automaton
  17. 市场营销商业指标统计分析
  18. JAVA经典算法大全
  19. 观《达芬奇的人生密码》有感——艺工交叉的智慧
  20. vue ajax传输数组,ajax请求回数组数据,Vue页面数组没同步问题

热门文章

  1. 计算机二级的考试c模板,2013年9月全国计算机等级《二级C++》上机模考试卷(5)
  2. BufferedInputStream的read方法原理
  3. php判断版本根据版本调用不同,C#_C#自动判断Excel版本使用不同的连接字符串,用OLEDB通过设置连接字符串可 - phpStudy...
  4. bootstrap菜单展开收起_菜单展开及收缩效果 bootstrap+jquery
  5. java中可用于定义成员常量_13秋北航《Java语言与面向对象程序设计》在线作业三辅导 …...
  6. 相机成像与校正原理:将外部世界进行降维
  7. SH-20403AXIS12双轴蓝牙移动框架
  8. 这也不能一直在这儿瞎忙活
  9. Mac中使用svn命令行更换svn服务器IP地址
  10. rust python扩展_Rust语言优化Python性能案例