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

            抖帥宮 744 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元
            相關文章

             發表評論

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

            返回頂部小火箭
            亚洲国产综合久久天堂| 亚洲一区精品视频在线| 亚洲13又紧又嫩又水多| 亚洲国产成人片在线观看无码| 亚洲综合一区二区三区四区五区| 亚洲宅男永久在线| 亚洲国产精品第一区二区| 精品国产亚洲男女在线线电影 | 亚洲精品动漫人成3d在线| 亚洲AV无码专区在线电影成人| 亚洲一区二区三区国产精华液| 亚洲av片不卡无码久久| 亚洲精品无码久久久久久久| 亚洲首页在线观看| 亚洲午夜成人精品无码色欲| 亚洲国产精品成人综合久久久 | 久久精品亚洲日本佐佐木明希| 久久亚洲国产成人精品无码区| 亚洲精品国产自在久久| 国产乱辈通伦影片在线播放亚洲| 亚洲精品偷拍视频免费观看| 国产亚洲欧美日韩亚洲中文色| 亚洲精品理论电影在线观看| 亚洲AV无码专区在线电影成人| 亚洲偷偷自拍高清| 亚洲精品GV天堂无码男同| 亚洲暴爽av人人爽日日碰| 久久亚洲精品中文字幕无码| 国产精品亚洲片在线| 亚洲福利视频一区| 亚洲精品动漫在线| 亚洲一本之道高清乱码| 亚洲一级片在线播放| 亚洲色偷精品一区二区三区 | 精品亚洲一区二区三区在线观看 | 人人狠狠综合久久亚洲高清| 亚洲一级二级三级不卡| 久久精品亚洲一区二区| 亚洲日韩中文字幕天堂不卡| 亚洲最大的成人网| 亚洲精品国产自在久久|