vc++ 中ADO数据库的配置(Access2003-Access2007) 1. 首先在StdAfx.h中添加以下代码引入数据库:
#import \Files\\\\Common Files\\\\System\\\\ado\\\\msado15.dll\no_namespace rename(\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(\ // _bstr_t strConnect=\Source=Med.mdb\放在工程目录下 access2003
_bstr_t strConnect =\Source=Med.mdb;Persist Security Info=False\
m_pConnection->Open(strConnect,\
// AfxMessageBox(\数据库连接成功\
}
catch(_com_error e) { AfxMessageBox(\数据库连接失败\ } }
void CADOConn::ExitConnect() {
if(m_pRecordset!=NULL)//关闭记录集和断开数据源链接 m_pConnection->Close(); ::CoUninitialize();//释放COM环境 }
_RecordsetPtr& CADOConn::GetRecordset(_bstr_t bstrSQL) {
//打开记录集,返回记录集指针 try { 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) { try { if(m_pConnection==NULL) OnInitADOConn(); m_pConnection->Execute(bstrSQL,NULL,adCmdText); return true; }
catch (_com_error e)
{ } }
5.到此ADO数据库配置成功
AfxMessageBox(\不能打开记录集\return false;