|
在很久以前的第2章,我們說(shuō)明了ADO的概念以及為什么學(xué)習(xí)ADO;同時(shí)也介紹了如何在VBA中引用ADO類(lèi)庫(kù)、創(chuàng)建同Excel文件的連接,并分享了一個(gè)使用ADO執(zhí)行SQL語(yǔ)言的小套路等;詳參鏈接:Excel VBA ADO SQL入門(mén)教程002:簡(jiǎn)單認(rèn)識(shí)ADO Connection,顧名思義,是到數(shù)據(jù)庫(kù)的連接,管理應(yīng)用程序和數(shù)據(jù)庫(kù)之間的通信;Recordset,又稱(chēng)記錄集,是用來(lái)獲得數(shù)據(jù),存放和處理SQL語(yǔ)句的查詢結(jié)果……另外,我們可能會(huì)在系列教程的末尾稍微提下ADO的Command對(duì)象,它的主要作用是用來(lái)處理帶參數(shù)值的或重復(fù)執(zhí)行的查詢。 語(yǔ)法各參數(shù)的含義我們第2章時(shí)講過(guò)了,這里不再重述。嗯,我是真懶,實(shí)在沒(méi)辦法把第2章的內(nèi)容復(fù)制粘貼過(guò)來(lái),所以建議你先看完第2章的前3節(jié)內(nèi)容再繼續(xù)向下閱讀。 踹一腳,對(duì)面的男孩看過(guò)來(lái)……第2章時(shí),我們說(shuō)過(guò),雖然Connection對(duì)象對(duì)于不同的數(shù)據(jù)庫(kù)或文件會(huì)有不同的連接字符串,但常用的數(shù)據(jù)庫(kù)或文件的連接字符串均是固定的。 下面是常用數(shù)據(jù)庫(kù)或文件的連接字符串。 1,Access數(shù)據(jù)庫(kù) 沒(méi)有密碼保護(hù)的Access數(shù)據(jù)庫(kù) Provider=Microsoft.ACE.OLEDB.12.0;Data Source=帶路徑的Access數(shù)據(jù)庫(kù)名稱(chēng); 有密碼保護(hù)的Access數(shù)據(jù)庫(kù) Provider=Microsoft.ACE.OLEDB.12.0;Data Source=帶路徑的Access數(shù)據(jù)庫(kù)完整名稱(chēng);JetOLEDB:Database Password=密碼; 2,Text文件 Provider=Microsoft.ACE.OLEDB.12.0; Data Source=文本文件路徑&'\';Extended Properties=’text;HDR=Yes;FMT=Delimied’; 3,SQL Server數(shù)據(jù)庫(kù) Provider =SQLOLEDB;Password=密碼;User ID= 用戶名; Data Source =SQL數(shù)據(jù)庫(kù)服務(wù)器名稱(chēng);Initial Catalog=數(shù)據(jù)庫(kù)名稱(chēng); 4,Oracle 數(shù)據(jù)庫(kù) Provider =madaora; PassWord=密碼; User ID=用戶名; Data Source =Oracle數(shù)據(jù)庫(kù)服務(wù)器名稱(chēng); 5,F(xiàn)oxPro數(shù)據(jù)庫(kù) Provide=Microsoft.ACE.OLEDB.12.0;User ID=用戶名;Data Source=dbf文件路徑;Extended Properties=dBASEIV; 6,Excel工作簿 03版本Excel Provider=Microsoft.jet.OLEDB.4.0;Extended Properties=’Excel 8.0;HDR=yes;IMEX=0’;Data Source=帶路徑的Excel工作簿完整名稱(chēng) 07~19版本Excel Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=’Excel 12.0; HDR=yes;IMEX=0’;Data Source=帶路徑的Excel工作簿完整名稱(chēng) …… …… 另外,就像我們所熟悉的眾多的VBA對(duì)象一樣,Connection對(duì)象也有很多自己的屬性、方法,甚至事件;不過(guò)我們能用到的……同樣實(shí)在不多,且也都有固定的套路。 通過(guò)一小段代碼,有幾個(gè)屬性僅供大家了解。 Sub test() Dim cnn As Object Set cnn = CreateObject('adodb.connection') cnn.Open 'provider=microsoft.ace.oledb.12.0;extended properties=excel 12.0;data source=' & ThisWorkbook.FullName If cnn.State = 1 Then MsgBox '連接成功!' & vbCrLf & 'ADO版本為:' & cnn.Version & vbCrLf & 'Connection對(duì)象提供者名稱(chēng):' & cnn.provider cnn.Close Set cnn = Nothing Else MsgBox '數(shù)據(jù)庫(kù)連接失敗' End IfEnd SubVersion屬性只讀,返回Connection對(duì)象的版本號(hào);Provider是Connection對(duì)象連接數(shù)據(jù)庫(kù)提供程序者的名稱(chēng),當(dāng)Connection對(duì)象關(guān)閉時(shí),該屬性可讀寫(xiě);否則為只讀。 …… 重點(diǎn)是Connection對(duì)象的方法或函數(shù),我們最常用的也就四個(gè),分別是Open、Close、Execute和OpenSchema。 |
|
|
來(lái)自: L羅樂(lè) > 《跟EH看見(jiàn)星光學(xué)SQL》