程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB6 >> vb神童教程(續)--VB的ADO對象

vb神童教程(續)--VB的ADO對象

編輯:VB6

本文歡迎非商業用途的轉載,但需要注明出自“編程入門網”及相應的網址鏈接。

ADO簡介

參考資料:

ADO簡介:http://bianceng.cn/VBjc/sjcz/sj2.htm

ado對象模型:http://bianceng.cn/Programming/VB_NET/200705/1201.htm

ADO是另一種用於開發訪問OLE DB數據源應用程序的API。有多種程序設計語言都支持ADO,如VB,VC++,VJ++等。ADO提供了較為高級並容易被理解的訪問OLE DB數據源的機制,它結合了DAO和RDO的優點。並提供了OLE DB數據源的入口。OLE DB是一種數據庫體系結構,它為企業網絡提供了普遍的數據綜合能力(從大型機到桌面上的數據,而不管數據的具體類型是什麼),與ODBC相比,OLE DB在數據通道方面更具有普遍性和有效性,這是因為它允許同建立在COM基礎上的更多的數據類型聯系和由於ADO是為開發客戶機/服務器程序而專門設計的。下圖是典型的ADO應用程序的結構。

ADO的特征如下:

▲支持成批更新.即對更新的多個記錄進行緩沖,並同步傳輸到服務器。

▲支持所有類型的光標。包括只能前移型,關鍵值型以及動態和靜態型。

▲支持服務器端的存儲過程。這些過程可以大大提高應用程序的通用性。

▲支持返回多個記錄集的查詢。

▲支持查詢目的。包括限制返回的記錄的個數,激活返回記錄的過濾和預先語句。
 

ADO是由以下對象組成的:Command,Connect,Error,Field,Parameter和RecordSet。下圖給出了ADO對象的層次結構。除了Error和Field之外的所有ADO對象都是可以單獨創建的,而Command,Error和Parameter對象是可選的。

ADO對象介紹

1.Connection對象

詳見vb神童教程(續)--vb adodb Connection對象簡介

Connection對象封裝了到數據源的連接而且允許使用Execute()方法來執行SQL命令,Execute()命令返回一個RecordSet對象。可使用Connection對象配置一個數據庫的鏈接、定義脫機等級、執行SQL命令並對SQL語句的執行進行控制和管理。下圖顯示了Connection對象同其它對象的關系。

2.Command對象

Command對象定義了將對數據源執行的指定命令。使用Command對象查詢數據庫並將查詢所得到的記錄集返回給RecordSet對象,以便執行大量操作或處理數據庫結構。Command對象的主要功能主要有:

▲使用數據管理命令創建RecordSet對象,完成成批更新和使用數據定義命令修改數據源結構。

▲打開到數據源的連接,指明一個命令,執行存儲過程和創建語句。

▲與Parameter對象聯合創建參數化的命令。應用程序可以往各參數集中添加參數,而不需要數據提供者預先填充參數集。

3.Error對象

Error對象封裝了從數據源返回的錯誤。如果Error對象可用,可使用它來獲得錯誤描述、錯誤代碼、創建錯誤的對象、參考幫助文件和當前的SQL狀態。Errors集合中包含了為響應涉及提供者的單個錯誤而創建的所有Error對象。任何涉及ADO對象的操作都可能產生一個或多個提供者錯誤。產生錯誤時,可以將一個或多個Error對象置於Connection對象的Errors集合中。其他ADO操作產生錯誤時,將會自動清空Errors集合,並且將新的Error對象置於Errors集合中。

4.Field對象

Field對象封裝了RecordSet對象中的一列。可以這樣說,一個RecordSet對象是由一組Field對象組成的。可以使用Field對象來訪問列的名稱、列值、類型、精度、范圍和列的大小。Field對象只能從RecordSet對象中來訪問。

5.Parameter對象

Parameter對象封裝了一個命令參數,此參數可以是輸入型、輸出型或者輸入/輸出型。許多數據源提供者都支持參數化的命令。需要進行的操作在這些命令中只定義一次,但可以使用變量(或參數)來改變命令的某些細節。例如,SQL SELECT語句可以使用某個參數定義WHERE子句的匹配條件,而使用另一個參數來定義SORT BY子句的列的名稱。

6.RecordSet對象

RecordSet對象是ADO的核心,可以單獨地創建。RecordSet對象表示的是來自基本表或命令執行結果的記錄全集。任何時候,RecordSet對象所指的當前記錄均為集合內的單個記錄。在RecordSet對象中有一個默認的指針,用戶程序可以通過這個默認指針的移動來訪問記錄集中的單個記錄。RecordSet對象封裝了一組可以訪問列級數據的Field對象。

RecordSet對象的方法:

1.AddNew方法

AddNew方法為可更新的Recordset對象創建一個新記錄.AddNew方法將添加一條新的空記錄,並且定位在該記錄上,用戶可以在被綁定的數據感知控件中輸入修改數據.新增加的記錄的值為指定的默認值,如果沒有指定值,則為Null.例如: 輸入完新記錄後,要使用I.1pdate方法才能將數據保存到數據庫中,在使用Update方法前,數據庫中的數據不會發生改變,只有執行Update方法或通過Data控件移動當前記錄時,記錄才從緩沖區存儲到數據庫文件中.使用Update方法後,新記錄仍保持為當前記錄.
Data1.Recordset.AddNew

2.Delete方法

Delete方法可將當前記錄從記錄集中刪除.

3.Edit方法

要編輯修改數據庫的記錄,首先使要編輯的記錄成為當前記錄,然後使用Edit方法修改記錄內容,使用Edit方法後,移動記錄或者使用Update方法把數據存入到數據庫中.

4.Move方法

可以使用各種:Move方法移動記錄,使不同的記錄成為當前記錄.有5種方法:

MoveFirst.移動到記錄集的第一條記錄.
Move[,ash移動到記錄集的最好一條記錄.
MoveNext:移動到記錄集的下一條記錄.
MovePrevious:移動到記錄集的上一條記錄.

Move:可以使用Move方法向前或向後移動若干條記錄.語法為:

Recordset.MoveNumRecords.Start

其中NumRecords設置向前或向後移動記錄的行數,正數表示向後移動NumRecords行,負數表示向前移動NumRecords行.Start參數為可選,表示基准位置,缺省時為當前記錄的位置.可以把當前記錄集的Bookmark作為基准位置.

5.Find和Seek方法

要查找一個符合條件的記錄,在Table型的記錄集中可以使用Seek方法,在其他類型的記錄集中可以使用Find方法.

共有4種Find方法:FindFirst,Find[,ast,FindNext和:FindPrevious方法.使用Seek方法要用到索引,而且只能用於Table類型的記錄集.

6.I_Ipdate和CancelIJpdate方法

Update方法保存對Recordset對象的當前記錄所做的更改.使用IJpdate方法可以保存自從調用.AddNew方法,或自從現有記錄的任何字段值發生更改(使用Edit方法)之後,對Recordset對象的當前記錄所作的所有更改.調用LIpdate方法後當前記錄仍為當前狀態.

如果希望取消對當前記錄所做的所有更改或者放棄新添加的記錄,則必須調用CancelUpdate方法.調用CanceltJpdate時,更改緩存被重置為空,並使用原來的數據對被綁定的數據感知控件進行刷新.

它們的語法為:

7.Close方法

使用Close方法可以關閉:Recordset對象以便釋放所有關聯的系統資源.關閉對象並非是將它從內存中刪除,可以更改它的屬性設置並且在此之後再次打開.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved