技術(shù) 點
- 技術(shù)
- 點
- V幣
- 點
- 積分
- 71645
|
2#
樓主 |
發(fā)表于 2004-7-15 17:42:00
|
只看該作者
ADO快速教程
ADO對象模型是由相對數(shù)量較少的對象組成.不象RDO對象模型,每個主要的ADO對象都能被個別的被創(chuàng)建.這就意味著,舉例說吧,你不需要在創(chuàng)建有效的記錄集對象前創(chuàng)建一個連接.
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
cn.Open "Biblio"
rs.Open "select * from titles where title like '%h'", cn
ADO 2.0對象是Connection,Command,Parameter,Recordset,Field,Error和Property.ADO對象模型也包括四個類集:它們分別是一套相關(guān)的Error,Parameter,Property和Field對象.讓我們來看看每個對象的主要特性.
Connection對象提供連接,該連接連接的程序中存有它正在訪問的數(shù)據(jù)源.屬性允許你定義:連接串,命令執(zhí)行以及連接啟動的間隔時間,數(shù)據(jù)提供者,(無論臨時表位置是應(yīng)該在客戶端還是在服務(wù)器端),和對于數(shù)據(jù)的訪問權(quán)限.方法有關(guān)于如下功能的:執(zhí)行命令,打開和關(guān)閉一個連接和管理事務(wù).
在許多地方你可以指定你想使用的提供者:通過Provider屬性,在連接字符串中,或者甚至通過Open方法.選擇你最喜歡的實現(xiàn)方式,但要保證你沒有為同樣的連接指定多個的提供者.缺省的提供者(當(dāng)
你沒有指定你自己的提供者的情況下)是MSDASQL,針對ODBC的Microsoft OLE DB提供者.
Command對象定義了一個SQL聲明,一個存儲過程,或任何其他的你可能想讓提供者執(zhí)行的關(guān)于數(shù)據(jù)的操作.Command的屬性有:當(dāng)前連接,最大允許執(zhí)行時間和參數(shù)集.一個參數(shù)就是你將它作為參數(shù)傳遞給命令的值.在這些屬性中用以區(qū)分一個參數(shù)的屬性有:方向(輸入,輸出,或者兩者都有),類型當(dāng)然還有它們的值.
記錄集對象也許是最典型的ADO對象,然而它是最復(fù)雜的當(dāng)中的一個.它表示命令執(zhí)行的結(jié)果,并且它大多是以數(shù)據(jù)庫的記錄集的形式給出.一個記錄集是由以行和域的形式表示的信息組成.它不一定非要映射成關(guān)系型數(shù)據(jù)庫的記錄.實際上,如同我早些時候解釋的那樣,ADO是基于OLE DB并且能被用來可視化地訪問任何數(shù)據(jù)源中的數(shù)據(jù),這數(shù)據(jù)源包括非關(guān)系型的數(shù)據(jù)庫.記錄集提供了緩沖能力,它接受數(shù)據(jù)的變化,并且將這些變化以批處理的方式傳給服務(wù)器.你可以瀏覽并對記錄集的內(nèi)容分類,如同列舉和提取行.你也能通過如:刪除,添加和刷新操作等任何方式修改數(shù)據(jù).記錄集存在跟連接的嚴(yán)格的關(guān)系,但是這不意味著你總是需要一個打開的連接來獲得一個記錄集.你也可以按如下方式進行:
Dim RS As New ADODB.Recordset
sql = "select * from authors"
RS.Open sql, "ubs"
既然Connection實際上是數(shù)據(jù)和命令傳送的通道,所以該對象仍然被創(chuàng)建了,除了一個名字叫做Recordset.ActiveConnection的屬性外,它是不可見的并工作在后臺.
Field對象是一列同類的數(shù)據(jù).它提供了一種這樣的編程接口,即能讓你可以對單個單元的值以及基本的特征如:類型和大小進行讀和寫.所有給定記錄集的Field對象形成了一個Field集.如我將在后面向你說明的, Fields集隱藏著一個引人注目的特性,它將再次證明Recordset對象的靈活性.
最后是Property對象.每個對象都有屬性.提供的使用了ADO的對象可能是各種各樣的.但不存在這樣一套屬性即包含了所有可能的OLE DB提供者的靜態(tài)的屬性.因此,任何一個ADO對象都有靜態(tài)和動態(tài)的屬性.第一套屬性集:包括Name,Type,Value和Attributes,都可以通過如下的語法來訪問:
obj.PropertyName
最開始的三個屬性都是自我說明性的.Attributes是一種數(shù)字式的描述符,它是以按位的跟提供者的能力有關(guān)的一些預(yù)定義的屬性組合.(它類似于COM服務(wù)器的組件分類).
動態(tài)屬性是跟潛在的提供者類型相應(yīng)的.它們被歸進Properties集合,并可以通過名字查詢.
obj.Properties("propName")
The New Recordset Object
ADO 2.0包括一些新的功能(見圖3).現(xiàn)在可以通過GetString方法把記錄集扁平化變成一個字符串.
<BLOCKQUOTE>
Set Variant = recordset.GetString(
StringFormat,
NumRows,
<FONT face=Verdana>ColumnDelimiter, </FON |
|