大家好,今日繼續(xù)講解VBA與數(shù)據(jù)庫的知識,在上幾講的內(nèi)容中我們對數(shù)據(jù)庫有了一個大概的了解,同時我們也清楚了連接數(shù)據(jù)庫的不同方式,并對各個連接方式加以比較。今日的內(nèi)容是深入的理解ADO與數(shù)據(jù)連接后的一些知識的準(zhǔn)備.連接好數(shù)據(jù)后我們要進行的操作將更為具體。 在之前的講解中,我一直在提ADO,ADO是DAO的后繼產(chǎn)物。相比DAO,ADO擴展了DAO使用的層次對象模型,用較少的對象、更多的方法和事件來處理各種操作,簡單易用,是當(dāng)前數(shù)據(jù)庫開發(fā)的主流技術(shù)。那么,ADO涉及到的對象都有哪些呢?今日我們就來深入的講解.或許你之前看過數(shù)據(jù)庫的一些文章,或者你是數(shù)據(jù)庫的高手,但還是要理解或者了解到一些必要的知識. 一Connection對象:是ADO對象模型中最高級的對象,這個對象實現(xiàn)了應(yīng)用程序與數(shù)據(jù)源的連接。在上一講和之前的內(nèi)容中著重講了如何實現(xiàn)的這個連接的問題. 二 Command對象:這個對象的主要作用是在VBA中通過SQL語句訪問、查詢數(shù)據(jù)庫中的數(shù)據(jù)。 那么,什么是SQL 語句呢?這個詞是英語Structured Query Language的首字母寫法,翻譯過來就是結(jié)構(gòu)化查詢語言,結(jié)構(gòu)化查詢語言是一種數(shù)據(jù)庫查詢和程序設(shè)計語言,可以用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫系統(tǒng)。 那么什么是結(jié)構(gòu)化呢?所謂結(jié)構(gòu)化,就是格式固定: 如:'select 表1.字段,表2.字段,表3.字段from 表名1,表名2,表名3...where 條件group by 字段order by 字段'.就要一段結(jié)構(gòu)化的查詢語句,非常易學(xué),好記憶. 三 Recordset對象:這個對象是這講要講的重點,他是存儲訪問表和查詢對象返回的記錄集合。使用該對象,可以瀏覽記錄、修改記錄、添加新的記錄或者刪除特定的記錄。Recordset對象的功能是最常用、最重要的,我們在以后的代碼中也是主要使用這個對象來完成我們的一些需求. 所有Recordset對象均使用記錄(行)和字段(列)進行構(gòu)造。具有其特定的屬性和方法,使用ADO時,通過Recordset對象,利用這些屬性和方法就可以編程處理數(shù)據(jù)庫中的記錄。 可對幾乎所有數(shù)據(jù)進行操作。用這個記錄集可執(zhí)行的操作有:對表中的數(shù)據(jù)進行查詢和統(tǒng)計,在表中添加、更新或刪除記錄。下面要將一下Recordset對象常見的屬性、方法、和事件,(如果對屬性、方法、事件著三個詞語不理解的請趕快查看我的第一部作品《VBA代碼解決方案》中的相關(guān)內(nèi)容,我的作品的風(fēng)格是一樣的,最好能連續(xù)的學(xué)習(xí)) (一)Recordset對象一些常見的屬性: 1 BOF 如果當(dāng)前的記錄位置在第一條記錄之前,則返回 true,否則返回 fasle。 2 EOF 如果當(dāng)前記錄的位置在最后的記錄之后,則返回 true,否則返回 fasle。 3 Index 設(shè)置或返回 Recordset 對象的當(dāng)前索引的名稱。 4 RecordCount 返回一個 Recordset 對象中的記錄數(shù)目。 5 Source 設(shè)置一個字符串值,或一個 Command 對象引用,或返回一個字符串值,此值可指示 Recordset 對象的數(shù)據(jù)源。 (二)Recordset對象一些常見的方法 1 AddNew 創(chuàng)建一條新的記錄。 2 Cancel 撤銷一次執(zhí)行。 3 Close 關(guān)閉一個 Recordset。 4 Delete 刪除一條記錄或一組記錄。 5 Find 搜索一個 Recordset 中滿足指定某個條件的一條記錄。 6 Move 在 Recordset 對象中移動記錄指針。 7 MoveFirst 把記錄指針移動到第一條記錄。 8 MoveLast 把記錄指針移動到最后一條記錄。 9 MoveNext 把記錄指針移動到下一條記錄。 10 MovePrevious 把記錄指針移動到上一條記錄。 11 NextRecordset 通過執(zhí)行一系列命令清除當(dāng)前 Recordset 對象并返回下一個 Recordset。 12 Update 保存所有對 Recordset 對象中的一條單一記錄所做的更改。 13 Save 把 Recordset 對象保存到 file 或 Stream 對象中。 14 UpdateBatch 把所有,Recordset,中的更改存入數(shù)據(jù)庫,請在批更新模式中使用 (三)Recordset對象的事件 1 EndOfRecordset 當(dāng)試圖移動到超過,Recordset,結(jié)尾的行時被觸發(fā) 2 RecordChangeComplete 一條記錄更改之后被觸發(fā) 好了,今日就講到這里,下一講還將接著講解Recordset 對象,會離我們的實際操作越來越近了,但大家還是不要急,要弄懂必要的知識點,哪怕只是了解些,再慢慢的熟悉。數(shù)據(jù)庫是數(shù)字化的產(chǎn)物,雖然他的問世時間還不是很長,最多也不過六、七十年的時間,但他的積累卻是幾何級數(shù)的,特別是上個世紀(jì)90年代之后,隨著各種算法的實現(xiàn),數(shù)據(jù)庫的利用會越來越多。 今日內(nèi)容回向: 1 ADO 中的主要對象有哪些? 2 你是否清楚,操作一個數(shù)據(jù)庫要有哪些必要的步驟呢? |
|