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