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。
