VC++6.0连接Access数据库
建立一个连接数据库的类:
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数据库的更多相关文章
- VC++6.0连接MySQL数据库(MySQL API)
一.MySQL的安装 Mysql的安装去官网下载就可以...最新的是5.7版本..二.VC6.0的设置(1)打开VC6.中选0 工具栏Tools菜单下的Options选项,在Directories ...
- 64位Winows2008下连接Access数据库 Jet4.0不支持解决代替方案
如何在windows2008 64位的机子上连接Access数据库 用以前的连接Access数据库的方式Provider=Microsoft.Jet.OLEDB.4.0在32位机子上可以使用,在64位 ...
- java远程连接access数据库
本文转载自http://www.voidcn.com/article/p-tlrtkqlp-k.html 1 rmijdbc远程连接access数据库 正常情况下,常用的数据库sql server, ...
- win7 64 VC++ ado方式连接access 连接字符串
运行环境:win7 64 vc++6.0 office 2007 32位(access 2007) 我用的是ado方式连接access数据库,(现在的Win7系统中安装的一般 ...
- 【.net 深呼吸】连接Access数据库应注意的几点
本地数据库可以有Y种选择,比如Sqlite.SQL Server Express.SQL Local DB.SQL Server CE.Access等,本文老周选用比较著名的Access本地数据库,在 ...
- C#连接Access数据库(详解)
做一个用VS2012的C#连接Access数据库的备忘, SQL数据库固然强大,有大微软的强力技术支持,LINQ的方便操作,但是如果写一个小程序对数据库方面没有什么大的要求的话,将来在数据库方面就可以 ...
- ASP.net分别连接SQLserver数据库与连接Access数据库精英版
-------------------------连接access2003 字符串------------------------- Provider=Microsoft.Jet.OLEDB.4.0; ...
- php连接Access数据库错误及解决方法
<?php $connstr="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath("data.m ...
- C# 连接 Access 数据库
c#连接Access 数据库需要System.Data, System.Data.OleDb using System.Data using System.Data.OleDb public OleD ...
随机推荐
- 解决Cygwin中文乱码
如下图所示,在执行ping或者cmd.exe命令时,Cygwin出现中文乱码: 解决方案: 在Cygwin终端上右键-->Options…-->Text-->修改Locale 为 z ...
- http怎样保持有状态?
HTTP协议的特点 HTTP协议是无状态的协议,发送的请求不记录用户的状态,不记录用户的信息.就相当于它被访问了2次,不知道是哪两人访问的,或者是一个人访问两次. 正是因为HTTP协议的这一特点,用户 ...
- JavaWeb项目开发案例精粹-第3章在线考试系统-007View层
0.login.jsp <%@ page language="java" import="java.util.*" pageEncoding=" ...
- HTML5 编辑 API 之 Range 对象(二)
1.Range.cloneContents()The Range.cloneContents() returns a DocumentFragment copying the objects of t ...
- Qt网络通信骨架解析,QtClient QtServer QtSerialPort
http://blog.csdn.net/Dr_Abel/article/details/52469134#t18
- php动态滚动加载实例
内容涉及:php.分页.jquery.div+css 实例下载:http://download.csdn.net/detail/roro5119/7373905 index.php <? //数 ...
- button 事件属性
- class卸载、热替换和Tomcat的热部署的分析
一 class的热替换 ClassLoader中重要的方法 loadClassClassLoader.loadClass(...) 是ClassLoader的入口点.当一个类没有指明用什么加载器加载的 ...
- nodejs搭配phantomjs highcharts后台生成图表
简单分享一下,后台使用nodejs结合highcharts.phantomjs生成报表图片的方法.这主要应用在日报邮件. 主要参考以下资料: http://www.highcharts.com/com ...
- TCP digest
TCP在网络OSI的七层模型中的第四层——Transport层,IP在第三层——Network层,ARP在第二层——Data Link层,在第二层上的数据,我们叫Frame,在第三层上的数据叫Pack ...