丁香桃色网_欧美在线综合视频_中午字幕无线码一区2020_,亚洲人成毛片在线播放_91看片在线免费观看_亚洲午夜精品视频

怎么打開sql數據庫文件,ADO連接數據庫

抖帥宮 746 2023-11-06

怎么打開sql數據庫文件,ADO連接數據庫-第1張-觀點-玄機派

來源頭條作者:VBA語言専攻

【分享成果,隨喜正能量】當你幸福時,若幸福建立在他人痛苦之上,這不叫幸福,而是造業;當快樂時,若快樂會導致痛苦,這不叫快樂,而是痛苦尚未成熟;當富有時,若財富源于不正行業,這不叫富裕,而是累債;當自感聰明,若聰明用于自私,這不叫聰明,而是愚昧。不立于惡,所以不生苦。

《VBA數據庫解決方案》教程是我推出第二套教程,目前已經是第一版修訂了。這套教程定位于中級,是學完字典后的另一個專題講解。數據庫是數據處理的利器,教程中詳細介紹了利用ADO連接ACCDB和EXCEL的方法和實例操作,教程第一版的修訂內容主要是完成所有程序文件的32位和64位OFFICE系統測試。

這套教程共兩冊,八十四講,今后一段時間會給大家陸續推出修訂后的教程內容。今日的內容是第8講:ADO連接數據庫,打開數據記錄集。

第八講 從創建ADO對象,到打開記錄集

大家好,我們今天講解VBA數據庫解決方案第8講:從創建一個ADO連接,到打開記錄集的過程回顧。我們的數據庫講解到本講,一些基本的概念,以及需要了解的一些基本知識就講的差不多了,將逐漸過渡到以實際問題的解決為側重點了。今天我們將之前講解的內容再大概的回顧一下。

1 數據庫的知識點

我們首先講了數據庫,務必要理解的是關系數據庫中的關系是指什么。所謂的關系就是表,就是數據庫中的表格,那么所謂的關系數據庫就是由表格組成的數據庫。

2 創建ADO對象

我們講連接數據庫的各種連接方式中,主要講了ADO的連接方式,這種方式是比較年輕的連接方式,所謂的ADO就是ActiveX Data Objects,對于這個詞的解釋不必過多的追求,只要知道只是一組數據對象即可。在連接數據庫的時候,給出了兩種方式的ADO連接。

第一種辦法是前期綁定,即引用”Microsoft ActiveX Data Objects 2.x Library”找到其中字盡可能高一點的版本,創建連接的代碼語句如下:

Dim cnADO As ADODB.Connection ’聲明一個ADO對象

Set cnADO = New ADODB.Connection ’創建一個ADO對象

或者在聲明是直接創建,代碼寫為:

Dim cnADO As New ADODB.Connection

第二種辦法:直接的創建,即后期的綁定:代碼如下

Dim cnADO As Object’聲明一個ADO對象

Set cnADO = CreateObject("ADODB.Connection")’創建一個ADO對象

3 ADO對象連接到數據庫

我之前的代碼中有兩種連接方式:

第一種: strPath = ThisWorkbook.Path & "\mydata.accdb"

cnADO.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strPath

第二種:

With cnADO

.Provider = "Microsoft.ACE.OLEDB.12.0"

.Open strPath

End With

兩者寫法不一樣,其實內容是一樣的,就是設置Connection對象的Provider和ConnectionString的兩個屬性。

4 SQL語句及打開記錄集

下一個步驟是記錄集的操作,這里我們講了SQL即結構化查詢語句,如Sql = "Select 班級,姓名 From [高三年級]"上面Sql語句的意思是從“高三年級”表中查詢(提取)所有記錄的班級和姓名兩個字段。

在打開記錄集時同樣也有兩種方法可以利用;

4.1第一種方法:使用Connection對象的Execute方法

示例1: Set rst = cnADO.Execute(Sql) 執行查詢,并將結果保存到rst對象中。

示例2 :Execute 方法

語法:connection.Execute CommandText, RecordsAffected, Options

返回: Recordset 對象引用。

參數:

① CommandText 字符串,通常為要執行的 SQL 語句、表名。

② RecordsAffected 可選,長整型變量,提供者向其返回操作所影響的記錄數目。

③ Options 可選,長整型值,指示提供者應如何計算 CommandText 參數。

后面兩個可選參數我們一般用不到去設置。使用Connection對象的Execute方法返回的結果集,始終為只讀、僅向前的游標。也無法取得返回結果集合中的記錄數。一般在只需將結果一次性寫入工作表中(CopyFromRecordset)時使用,它的好處是寫法簡潔。如果需要處理返回結果的更多操作,應使用下面的方法。

4.2 第二種方法:使用Recordset對象的Open方法

示例1:rst.Open Sql, cnn 同前面的Set rst = cnADO.Execute(Sql)一樣。

示例2 Open 方法

語法 :recordset.Open Source, ActiveConnection, CursorType, LockType, Options

參數:

①:Source 可選,變體型,通常為SQL 語句、表名。

②:ActiveConnection 可選。變體型,一般為有效 Connection 對象變量名。

③:CursorType 可選,CursorTypeEnum 值,打開 Recordset 時使用游標類型。

④ LockType 可選。打開 Recordset 時使用的鎖定(并發)類型。

⑤:Options 可選,長整型值,用于指示提供者如何計算 Source 參數。

其中參數③游標是可以指定的類型有四種:

0 AdOpenForwardOnly 默認值 打開僅向前類型游標。

1 AdOpenKeyset 打開鍵集類型游標。

2 AdOpenDynamic 打開動態類型游標。

3 AdOpenStatic 打開靜態類型游標。

如果需要計算返回記錄集的記錄數(RecordCount),需要將游標指定為adOpenStatic或adOpenKeyset類型,如果需要對游標進行更新,則需要指定為adOpenKeyset或AdOpenDynamic類型。

其中參數④LockType可以選的類型如下:

1 AdLockReadOnly (默認值)只讀 — 不能改變數據。

2 AdLockPessimistic 保守式鎖定,提供者完成確保成功編輯記錄所需的工作,通常通過在編輯時立即鎖定數據源的記錄。

3 AdLockOptimistic 開放式鎖定(逐個) — 提供者使用開放式鎖定,只在調用Update 方法時才鎖定記錄。

4 AdLockBatchOptimistic 開放式批更新—用于批更新模式(與立即更新模式相對)。

到此,我們就把VBA、數據庫、ACCESS、ADO、SQL等一些重要的詞語概念連接到一起了。

今日內容回向:

1 從數據庫到打開記錄集的各個步驟是否清楚了呢?

2 如何打開一個SQL記錄集?

我20多年的VBA實踐經驗,全部濃縮在下面的各個教程中:

第7套教程(共三冊):《VBA之EXCEL應用》:是對VBA基本的講解

第1套教程(共三冊):《VBA代碼解決方案》:是入門后的提高教程

第4套教程(16G):VBA代碼解決方案之視頻(第一套的視頻講解)

第3套教程(共兩冊):《VBA數組與字典解決方案》:是對數組和字典的專題講解

第2套教程(共兩冊):《VBA數據庫解決方案》:是對數據庫的專題講解

第6套教程(共兩冊):《VBA信息獲取與處理》:講解VBA的網絡及跨程序應用

第5套教程(共兩冊):VBA中類的解讀和利用:類及接口技術的講解

第8套教程(共三冊):VBA之Word應用(最新教程):word中VBA的利用

上述教程的學習順序:

① 7→1→3→2→6→5或者7→4→3→2→6→5。

② 7→8

如何學習VBA呢? 概括的說就是: 學習過程中要信、解、受、持,更要有回向的業力。無論您在學習的任何階段,都要對照教程的知識點加持自己的實際工作,總會有豐厚的收獲。
上一篇:三十二顆牙齒的人命運是不是不好(為啥多病的長壽,沒病的早死?10句話說出長壽大智慧)
下一篇:林肯維修太貴了,小保養1224元
相關文章

 發表評論

暫時沒有評論,來搶沙發吧~

返回頂部小火箭
主站蜘蛛池模板: 亚洲欧洲在线视频 | 国产嫩草影院久久久久 | 亚洲精品视频在线观看免费 | 国产精品久久久久不卡 | 久久九九精品久久 | 亚洲一区二区视频在线观看 | 国产日产久久高清欧美一区 | 欧美日韩精品一区二区三区四区 | 久久亚洲愉拍国产自367391 | 精品电影一区 | 国产免费黄网站 | 国产一区二区在线精品 | 日日爱av | 精品日韩一区二区三区 | 国产一区二区三区电影在线观看 | 国产精品一区二区三区久久久 | 在线毛片观看 | 国产区一区 | 美日韩三级 | 国产一二区在线 | 欧美精品久久久 | 国产一区二区在线播放 | 成人在线视频网站 | 国产91免费看| 久久综合影院 | 欧美高清视频一区 | 国产精品久久精品 | 美日韩三级 | 久久只有这里有精品 | 福利亚洲 | 成人免费视频观看视频 | 日韩在线观看精品 | 亚洲最大成人免费视频 | 精品国产日韩欧美 | 99精品国产在热久久婷婷 | 亚洲一区二区三区在线视频 | 亚洲成人av在线播放 | 欧美亚洲日本一区 | 国产午夜精品久久久久久免费视 | 亚洲一区二区三区四区五区中文 | 欧美a在线看|