VC++ 中ADO數據庫的配置(Access2003-Access2007)

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.0VS2012中:插入->類,彈出一個窗口,類名叫做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)

{

//打開記錄集,返回記錄集指針

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)

{

           AfxMessageBox("不能打開記錄集");

           return false;

}       

}

5.到此ADO數據庫配置成功

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章