ADO的几种数据库连接方式
生活随笔
收集整理的這篇文章主要介紹了
ADO的几种数据库连接方式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
(1)通過JET數據庫引擎對ACCESS2000數據庫的連接 ?
? ?
? m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data ? Source=C:\\test.mdb","","",adModeUnknown); ?
? ?
? (2)通過DSN數據源對任何支持ODBC的數據庫進行連接: ?
? ?
? ?
? m_pConnection->Open("Data ? Source=adotest;UID=sa;PWD=;","","",adModeUnknown); ?
? ?
? (3)不通過DSN對SQL ? SERVER數據庫進行連接: ? ?
? ?
? m_pConnection->Open("driver={SQL ? Server};Server=127.0.0.1;DATABASE=vckbase;UID=sa;PWD=139","","",adModeUnknown); ?
? ?
? 其中Server是SQL服務器的名稱,DATABASE是庫的名稱 ?
? ?
? Connection對象除Open方法外還有許多方法,我們先介紹Connection對象中兩個有用的屬性ConnectionTimeOut與State ?
? ConnectionTimeOut用來設置連接的超時時間,需要在Open之前調用,例如: ? ?
? ?
? m_pConnection->ConnectionTimeout ? = ? 5;///設置超時時間為5秒 ?
? m_pConnection->Open("Data ? Source=adotest;","","",adModeUnknown); ?
? ?
? ?
? State屬性指明當前Connection對象的狀態,0表示關閉,1表示已經打開,我們可以通過讀取這個屬性來作相應的處理,例如: ?
? ?
? ?
? if(m_pConnection->State) ?
? ? ? ? ? ? m_pConnection->Close(); ? ///如果已經打開了連接則關閉它??
===========================================================
??
? AfxOleInit();///初始化COM庫 ?
? 連接數據庫// ?
? HRESULT ? hr; ?
? try ?
? { ?
? hr ? = ? m_pConnection.CreateInstance("ADODB.Connection");///創建Connection對象 ?
? if(SUCCEEDED(hr)) ?
? { ?
? hr ? = ? m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data ? Source=e_QQ.mdb","","",adModeUnknown);///連接數據庫 ?
? ///上面一句中連接字串中的Provider是針對ACCESS2000環境的,對于ACCESS97,需要改為:Provider=Microsoft.Jet.OLEDB.3.51; ? ? } ?
? } ?
? } ?
? catch(_com_error ? e)///捕捉異常 ?
? { ?
? CString ? errormessage; ?
? errormessage.Format("連接數據庫失敗!\r\n錯誤信息:%s",e.ErrorMessage()); ?
? AfxMessageBox(errormessage);///顯示錯誤信息 ?
? return ? FALSE; ?
? }?????
?
? ?
? m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data ? Source=C:\\test.mdb","","",adModeUnknown); ?
? ?
? (2)通過DSN數據源對任何支持ODBC的數據庫進行連接: ?
? ?
? ?
? m_pConnection->Open("Data ? Source=adotest;UID=sa;PWD=;","","",adModeUnknown); ?
? ?
? (3)不通過DSN對SQL ? SERVER數據庫進行連接: ? ?
? ?
? m_pConnection->Open("driver={SQL ? Server};Server=127.0.0.1;DATABASE=vckbase;UID=sa;PWD=139","","",adModeUnknown); ?
? ?
? 其中Server是SQL服務器的名稱,DATABASE是庫的名稱 ?
? ?
? Connection對象除Open方法外還有許多方法,我們先介紹Connection對象中兩個有用的屬性ConnectionTimeOut與State ?
? ConnectionTimeOut用來設置連接的超時時間,需要在Open之前調用,例如: ? ?
? ?
? m_pConnection->ConnectionTimeout ? = ? 5;///設置超時時間為5秒 ?
? m_pConnection->Open("Data ? Source=adotest;","","",adModeUnknown); ?
? ?
? ?
? State屬性指明當前Connection對象的狀態,0表示關閉,1表示已經打開,我們可以通過讀取這個屬性來作相應的處理,例如: ?
? ?
? ?
? if(m_pConnection->State) ?
? ? ? ? ? ? m_pConnection->Close(); ? ///如果已經打開了連接則關閉它??
===========================================================
??
? AfxOleInit();///初始化COM庫 ?
? 連接數據庫// ?
? HRESULT ? hr; ?
? try ?
? { ?
? hr ? = ? m_pConnection.CreateInstance("ADODB.Connection");///創建Connection對象 ?
? if(SUCCEEDED(hr)) ?
? { ?
? hr ? = ? m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data ? Source=e_QQ.mdb","","",adModeUnknown);///連接數據庫 ?
? ///上面一句中連接字串中的Provider是針對ACCESS2000環境的,對于ACCESS97,需要改為:Provider=Microsoft.Jet.OLEDB.3.51; ? ? } ?
? } ?
? } ?
? catch(_com_error ? e)///捕捉異常 ?
? { ?
? CString ? errormessage; ?
? errormessage.Format("連接數據庫失敗!\r\n錯誤信息:%s",e.ErrorMessage()); ?
? AfxMessageBox(errormessage);///顯示錯誤信息 ?
? return ? FALSE; ?
? }?????
?
轉載于:https://www.cnblogs.com/coderlee/archive/2008/01/25/1052441.html
總結
以上是生活随笔為你收集整理的ADO的几种数据库连接方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 理解 Delphi 的类(十) - 深入
- 下一篇: Mobile RDA 同步数据库的类--