VC++ ado连接数据库(可以在VC6.0使用,以access数据库为实例)(1)
来源:互联网 发布:明礼仪知荣辱演讲稿 编辑:程序博客网 时间:2024/04/20 07:12
很多新手对数据库连接迷茫了,怎么我写的就连接不上数据库呢?或者有些功能就实现不了(感觉这太奇葩了吧),下面就怎么连接数据库进行说明。
看以下代码和解说步骤:(后面附带一个完整的类给大家进行下载,便于直接进行调用)
1.首先新建一个类,方便下次使用,编写了一次就不用再编写。
假如生成类的名字为:BAdo
则在这个类头文件添加以下代码:
#import "C:\Program Files\Common Files\System\ado\msado15.dll"\
no_namespace rename("EOF","adoEOF")
以上代码放在#pragma once前面就行了,这个不多说。
2.添加成员变量
_ConnectionPtr con;
_RecordsetPtr rec;//其实这2个就是ado接口指针,进行数据库的操作。
3.添加以下成员函数:可以通过右键类名点击添加函数进行操作:
BOOL ExecuteSQL(_bstr_t bstrSQL);
_RecordsetPtr& GetRecordset(_bstr_t bstrSQL);
void ExitConn();
void Onit();
4.实现成员函数代码内容:
void Ado::Onit()//初始化ado连接
{
::CoInitialize (NULL);
try
{
con.CreateInstance (__uuidof(Connection));
con->Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:/db1.mdb;Persist Security Info=False","","",-1);//连接数据库,d:/db1.mdb为你的数据库地址
//注意:如果要连接sql server200X上面的那条字符串需要修改一点,这个改法会在另外一篇文章再写。
}
catch(_com_error e)//捕捉异常
{
AfxMessageBox(e.Description ());
}
}
void Ado::ExitConn()//关闭ado连接
{
try
{
if(rec!=NULL)
rec->Close ();
con->Close ();
::CoUninitialize ();
}
catch(_com_error e)
{
AfxMessageBox(e.Description ());
}
}
_RecordsetPtr& Ado::GetRecordset(_bstr_t bstrSQL)//查询操作
{
try
{
if(con==NULL)
Onit ();
rec.CreateInstance (__uuidof(Recordset));
rec->Open (bstrSQL,con.GetInterfacePtr (),adOpenDynamic,adLockOptimistic,adCmdText);
}
catch(_com_error e)
{
AfxMessageBox(e.Description ());
}
return rec;
}
BOOL Ado::ExecuteSQL(_bstr_t bstrSQL)//执行操作
{
try
{
if(con==NULL)
Onit();
con->Execute (bstrSQL,NULL,adCmdText);
}
catch(_com_error e)
{
AfxMessageBox(e.Description ());
}
return true;
}
以上就简单的说明了连接数据库的代码。下面就发给大家一个ado连接类,方便大家再里面再添加一些你需要的代码和使用。
http://pan.baidu.com/s/1qWJhjXy
对于这个类的操作,在下一篇文章进行说明。
教你如何操作VS2010中SQL2008并且实现连接数据库http://blog.csdn.net/bojie5744/article/details/34853807
- VC++ ado连接数据库(可以在VC6.0使用,以access数据库为实例)(1)
- VC6.0 通过ado连接access数据库
- VC++下使用ADO连接Access数据库
- VC ADO连接Access数据库
- vc 连接access数据库(ado)
- VC编写ADO连接Access,SQL Server数据库入门实例
- VC(MFC)以ADO连接数据库(基于控件ListControl)
- 使用ADO实现vc中二进制文件数据的存取(以图像在数据库中的存取为例)
- 使用ADO实现vc中二进制文件数据的存取(以图像在数据库中的存取为例)
- VC++使用ADO开发ACCESS数据库(1)
- VC++中使用ADO方式操作ACCESS数据库(转)
- VC使用ADO对象连接一个Access数据库
- VC 在WIN7下使用ADO方式连接ACCESS数据库到XP不能运行
- VC6.0中使用ADO操作Access数据库
- VC6.0中使用ADO操作Access数据库
- VC6.0中使用ADO操作Access数据库有感
- VC6.0中使用ADO操作Access数据库
- VC6.0中使用ADO操作Access数据库
- 阿里巴巴集团全资收购UC优视
- twitter storm源码走读之8 -- TridentTopology创建过程详解 - 徽沪一郎
- Ubuntu 下的sqlmap,nmap,metasploit安装
- 判断system()执行shell脚本是否正常执行结束
- android 主题和样式-style和Theme的区别和使用
- VC++ ado连接数据库(可以在VC6.0使用,以access数据库为实例)(1)
- 读书笔记 --- 接近传感器
- Linux文件默认权限
- XMPP协议内容和格式
- 驾驭工作的两大“法宝”:时间管理和好心态
- 如果你不想在IT行业被替代,扮演好这7个角色之一
- 黑马程序员_循环控制与break continue总结
- LDO线性电压调节器
- MongoDB基本管理命令