VS與MySQL通過ADO方式連線
阿新 • • 發佈:2019-01-24
1.下載好MySQL之後,安裝開發員的版本,用命令列在資料庫test下建立表st並插入了兩條記錄,然後OBDC新增使用者、系統DSN 驅動程式是MySQL OBDC 5.3 ANSI Driver
2.獲取連線字串用的方法是下面連結中講的方法
連線字串是:
Provider=MSDASQL.1;Persist SecurityInfo=False;Extended Properties="Driver=MySQL ODBC 5.3 ANSIDriver;SERVER=localhost;UID=root;DATABASE=test;PORT=3306"
3.在VS2010中連線到資料庫 我連線到了test 資料庫,其中有一個表st,表內有兩條內容。(資料庫已拷貝在工程目錄下)
4.在VS新增類ADOConn 在新增三個函式進行初始化、退出、獲取記錄集,其中初始化時使用剛剛得到的連線字串。程式碼如下。
void ADOConn::OnInitADOConn(void) { ::CoInitialize(NULL); try { m_pConnection.CreateInstance("ADODB.Connection"); //連線字串 _bstr_t strConnect="Provider=MSDASQL.1;Persist Security Info=False;Extended Properties=Driver=MySQL ODBC 5.3 ANSI Driver;SERVER=localhost;UID=root;DATABASE=test;PORT=3306"; m_pConnection->Open(strConnect,"root","liuxinyuan",adModeUnknown); } catch(_com_error &e) { AfxMessageBox(e.Description()); } } void ADOConn::ExitConnect(void) { ::CoUninitialize(); //關閉記錄集和連線 if(m_pRecordset!=NULL) m_pRecordset->Close(); m_pConnection->Close(); //釋放環境 } _RecordsetPtr& ADOConn::GetRecordSet(_bstr_t bstrSQL) { //TODO: insert return statement here 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(e.Description()); } return m_pRecordset; }
5.由於我的本是64位系統所以還需要進行設定。(1)工程st->右鍵屬性 平臺——新建——X64。(2)字符集——多位元組字符集