建立一个连接数据库的类:

1.头文件:ADOConn.h

#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace  rename("EOF","adoEOF")rename("BOF","adoBOF") 

class ADOConnN
{
public:
_ConnectionPtr m_pConnect;
_CommandPtr m_pCommand;
_RecordsetPtr m_pRecord; void OnInitADOConn();//初始化数据库连接
void ExitConnect();//断开数据库连接
void ExecuteSQL(CString sqlstr);//执行一般的数据库插入、更新、修改等
_RecordsetPtr GetRecord(CString sqlstr);//返回数据库中查询的数据集等
};

2.在StdAfx.h头文件中添加:

#include "ADOConn.h"

3.实现文件:ADOConn.cpp

#include "stdafx.h"

void ADOConnN::OnInitADOConn()
{
::CoInitialize(NULL);
try
{ //创建连接对象实例
m_pConnect.CreateInstance("ADODB.Connection");
//设置连接字符串
CString strConnect="DRIVER={Microsoft Access Driver (*.mdb)};uid=;pwd=;DBQ=localwork.mdb;"; //数据库名称为localwork.mdb
//使用Open方法连接数据库
m_pConnect->Open((_bstr_t)strConnect,"","",adModeUnknown);
}
catch(_com_error e)
{
AfxMessageBox("连接数据失败,请检查数据库路径是否正确!");
}
} void ADOConnN::ExitConnect()
{
if(m_pRecord!=NULL)
m_pRecord->Close();
m_pConnect->Close();
::CoUninitialize();
} void ADOConnN::ExecuteSQL(CString sqlstr)
{
m_pConnect->Execute((_bstr_t)sqlstr,NULL,adCmdText);
} _RecordsetPtr ADOConnN::GetRecord(CString sqlstr)
{
_RecordsetPtr m_precordset=m_pConnect->Execute((_bstr_t)sqlstr,NULL,adCmdText);
return m_precordset;
}

4.应用:

	CString bstrSQL ="select * from tb_UserInfo";//tb_UserInfo为localwork.mdb中的一个表
ADOConnN con;//实例化连接数据库对象
con.OnInitADOConn();//初始化数据库对象中的一些初始化工作
con.m_pRecord=con.GetRecord(bstrSQL);//获取数据集
while(!con.m_pRecord->adoEOF)
{
  m_Grid.InsertItem(0,"");
  m_Grid.SetItemText(0,0,(char*)(_bstr_t)con.m_pRecord->GetCollect("Username"));//Username为tb_UserInfo表的一列
  m_Grid.SetItemText(0,1,(char*)(_bstr_t)con.m_pRecord->GetCollect("password"));//password为tb_UserInfo表的一列
  //将记录集指针移动到下一条记录
  con.m_pRecord->MoveNext();
}
con.ExitConnect();//断开数据库连接

  

VC++6.0连接Access数据库的更多相关文章

  1. VC++6.0连接MySQL数据库(MySQL API)

    一.MySQL的安装   Mysql的安装去官网下载就可以...最新的是5.7版本..二.VC6.0的设置(1)打开VC6.中选0 工具栏Tools菜单下的Options选项,在Directories ...

  2. 64位Winows2008下连接Access数据库 Jet4.0不支持解决代替方案

    如何在windows2008 64位的机子上连接Access数据库 用以前的连接Access数据库的方式Provider=Microsoft.Jet.OLEDB.4.0在32位机子上可以使用,在64位 ...

  3. java远程连接access数据库

    本文转载自http://www.voidcn.com/article/p-tlrtkqlp-k.html 1  rmijdbc远程连接access数据库 正常情况下,常用的数据库sql server, ...

  4. win7 64 VC++ ado方式连接access 连接字符串

    运行环境:win7 64       vc++6.0       office 2007  32位(access 2007) 我用的是ado方式连接access数据库,(现在的Win7系统中安装的一般 ...

  5. 【.net 深呼吸】连接Access数据库应注意的几点

    本地数据库可以有Y种选择,比如Sqlite.SQL Server Express.SQL Local DB.SQL Server CE.Access等,本文老周选用比较著名的Access本地数据库,在 ...

  6. C#连接Access数据库(详解)

    做一个用VS2012的C#连接Access数据库的备忘, SQL数据库固然强大,有大微软的强力技术支持,LINQ的方便操作,但是如果写一个小程序对数据库方面没有什么大的要求的话,将来在数据库方面就可以 ...

  7. ASP.net分别连接SQLserver数据库与连接Access数据库精英版

    -------------------------连接access2003 字符串------------------------- Provider=Microsoft.Jet.OLEDB.4.0; ...

  8. php连接Access数据库错误及解决方法

    <?php $connstr="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath("data.m ...

  9. C# 连接 Access 数据库

    c#连接Access 数据库需要System.Data, System.Data.OleDb using System.Data using System.Data.OleDb public OleD ...

随机推荐

  1. Linux查看机器型号

    dmidecode | grep “Product Name”

  2. JAVA多线程的问题以及处理【转】

    http://www.cnblogs.com/springcsc/archive/2009/12/03/1616394.html 12.4 多线程问题及处理          多线程编程为程序开发带来 ...

  3. go语言入门

    Go语言最主要的特性: 自动垃圾回收 更丰富的内置类型 函数多返回值 错误处理 匿名函数和闭包 类型和接口 并发编程 反射 语言交互性 1.2.4 错误处理Go语言引入了3个关键字用 ...

  4. 44. Wildcard Matching

    题目: Implement wildcard pattern matching with support for '?' and '*'. '?' Matches any single charact ...

  5. 在Tomcat中配置数据源

    使用工具:TOMCAT 7.0.52.IntelliJ IDEA 13.0.2.JSF 2.0+.SqlServer.jtds-1.2.5.jar 搞了好久都没成功,开始使用注解引入DataSourc ...

  6. openCv 图像顺时针、逆时针旋转

    通过下面这个函数调用 Rotate90(workImg,270); //顺时针旋转 Rotate90(workImg,90); //逆时针旋转 实现,其实用该函数旋转任意度数对正方形图都ok,只是长方 ...

  7. QTP公开课视频-持续更新中。。。

    以下是视频的下载地址: http://pan.baidu.com/share/link?shareid=1760499709&uk=3711405498

  8. 【原创】中文分词系统 ICTCLAS2015 的JAVA封装和多线程执行(附代码)

    本文针对的问题是 ICTCLAS2015 的多线程分词,为了实现多线程做了简单的JAVA封装.如果有需要可以自行进一步封装其它接口. 首先ICTCLAS2015的传送门(http://ictclas. ...

  9. C++ STL之deque的基本操作

    前两篇博文中已经介绍了vector和list的两种容器,我们发现他们各有各的优缺点,vector在内存中连续存储,支持随机访问,但是查找和删除的效率比较低,而list在内存中是链式存储的查找和删除的效 ...

  10. vpn局域网共享

    vpn局域网共享 更改网关为vpn共享主机地址 在“命令运行符”处,挨个键入下列命令,并回车生效: regsvr32 Softpub.dll regsvr32 Wintrust.dll regsvr3 ...