1.引入ADO
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
2.創建連接數據庫類(兩個指針及四個成員函數)
class CADOConn { public: CADOConn(); virtual ~CADOConn(); _ConnectionPtr m_pConnection; //對象智能指針連接操作數據庫 _RecordsetPtr m_pRecordPtr; //Recordset對象指針(記錄集) //初始化連接數據庫,執行查詢,執行SQL語句,斷開連接 void OnInitDBConnect(); _RecordsetPtr &GetRecordSet(_bstr_t bstrSQL); BOOL ExecuteSQL(_bstr_t bstrSQL); void ExitConnect(); };
3.四個成員函數實現
void CADOConn::OnInitDBConnect() { ::CoInitialize(NULL); //初始化OLE/COM庫環境 try { //創建connection對象 m_pConnection.CreateInstance("ADODB.Connection"); //設置連接字符串 _bstr_t strConnect="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=自己數據庫填寫處;Data Source=."; //SERVER和UID,PWD的設置根據實際情況來設置 m_pConnection->Open(strConnect,"","",adModeUnknown); } catch(_com_error e) { AfxMessageBox(e.Description()); //顯示錯誤信息 } } _RecordsetPtr & CADOConn::GetRecordSet(_bstr_t bstrSQL) { try { if(m_pConnection==NULL) //連接對象不存在 OnInitDBConnect(); //重新連接 m_pRecordPtr.CreateInstance(_uuidof(Recordset)); //創建記錄集對象 //執行查詢,等到記錄集 m_pRecordPtr->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText); } catch(_com_error e) //捕捉異常 { AfxMessageBox(e.Description()); //顯示錯誤信息 } return m_pRecordPtr; //返回記錄集 } BOOL CADOConn::ExecuteSQL(_bstr_t bstrSQL) { try { if(m_pConnection==NULL) OnInitDBConnect(); m_pConnection->Execute(bstrSQL,NULL,adCmdText); return true; } catch (_com_error e) { AfxMessageBox(e.Description()); return false; } } void CADOConn::ExitConnect() { if(m_pConnection!=NULL) { m_pRecordPtr->Close(); m_pConnection->Close(); } ::CoUninitialize(); }
鏈接:https://pan.baidu.com/s/1v5gm7n0L7TGyejCmQrMh2g 提取碼:x2p5
免費分享,但是X度限制嚴重,如若鏈接失效點擊鏈接或搜索加群 群號744933466。