vc++ 中ado数据库的配置(access2003-access2007)
1.
首先在stdafx.h中添加以下代码引入数据库:
#import "c:\\program files\\common files\\system\\ado\\msado15.dll" no_namespace rename("eof","adoeof")rename("bof","adobof")
2.
然后再vc6.0或vs2012中:插入->类,弹出一个窗口,类名叫做cadoconn,基类选择generic class(切记)
3.
然后在class view中双击cadoconn,添加以下代码:
class cadoconn
{
public:
cadoconn();
virtual ~cadoconn();
_recordsetptr m_precordset;//记录集指针
_connectionptr m_pconnection;
void oninitadoconn();//连接数据源
_recordsetptr& getrecordset(_bstr_t bstrsql);//获取打开的记录集指针
bool executesql(_bstr_t bstrsql);//执行sql语句
void exitconnect();//断开数据连接
};
4.
然后在file view中找到adocon.cpp文件,添加以下代码:
cadoconn::cadoconn()
}
cadoconn::~cadoconn()
void cadoconn::oninitadoconn()
::coinitialize(null);
try
m_pconnection.createinstance("adodb.connection");
// _bstr_t strconnect="provider=microsoft.jet.oledb.4.0;data source=med.mdb";//.mdb放在工程目录下 access2003
_bstr_t strconnect ="provider=microsoft.ace.oledb.12.0;data source=med.mdb;persist security info=false";//access2007
m_pconnection->open(strconnect,"","",admodeunknown);
// afxmessagebox("数据库连接成功");
catch(_com_error e)
afxmessagebox("数据库连接失败");
void cadoconn::exitconnect()
if(m_precordset!=null)//关闭记录集和断开数据源链接
m_pconnection->close();
::couninitialize();//释放com环境
_recordsetptr& cadoconn::getrecordset(_bstr_t bstrsql)
//打开记录集,返回记录集指针
if(m_pconnection==null)
oninitadoconn();
m_precordset.createinstance(__uuidof(recordset));
m_precordset->open(bstrsql,m_pconnection.getinterfaceptr(),adopendynamic,\
adlockoptimistic,adcmdtext);
catch (_com_error e)
afxmessagebox("记录集打开失败");
return m_precordset;
bool cadoconn::executesql(_bstr_t bstrsql)
m_pconnection->execute(bstrsql,null,adcmdtext);
return true;
afxmessagebox("不能打开记录集");
return false;
}
5.到此ado数据库配置成功