此頁沒有內(nèi)容條目
內(nèi)容

ADO 使您能夠回答其答案可表示為 Recordset 的提問。例如,假設(shè)您要公司客戶的列表,而您有包含名為 Customers 的表的數(shù)據(jù)庫。對表發(fā)出查詢命令,則 ADO 將返回 Recordset,在 Recordset 中每個行表示一個客戶,并且每個行的列擁有能夠包含客戶的名稱、地址、客戶 ID 等內(nèi)容的數(shù)據(jù)類型。

“數(shù)據(jù)構(gòu)形”使您能夠回答其答案可由成形的 Recordset 表示的提問。數(shù)據(jù)構(gòu)形定義成形 Recordset 的列、由列表示條目之間的關(guān)系和數(shù)據(jù)充填到 Recordset 的方式。

成形 Recordset 的列可以包含來自數(shù)據(jù)提供者(如 SQL Server)的數(shù)據(jù)、對另一個 Recordset 的引用、對 Recordset 一個行進(jìn)行計算得到的值、對整個 Recordset 的列進(jìn)行操作所得到的值,或者可以是新虛構(gòu)的空列。

在檢索包含對另一個 Recordset 的引用的列的值時,ADO 將自動返回由引用表示的實際的 Recordset。包含另一個 RecordsetRecordset 稱為“分級 Recordset”或“分級游標(biāo)”。

例如,假定您要得到由公司每個客戶發(fā)出的所有定單的列表。可對包含名為 Customers 和 Orders 的數(shù)據(jù)庫表發(fā)出數(shù)據(jù)構(gòu)形命令。如同上例一樣,ADO 將返回客戶記錄 Recordset。但是,每行將同時有附加的列,該列引用包含所有該客戶定單的 Recordset

改進(jìn)該形狀即可獲得按州排列的銷售總計的列表。在 Customers 表中的地址列包含每個客戶的州,而 Orders 表的數(shù)量列則包含每個定單的數(shù)量。發(fā)出不同的數(shù)據(jù)構(gòu)形命令,則 ADO 將返回 Recordset,該 Recordset 包含每個州一個行(在此,每個行包含標(biāo)識州的列)、該州所有定單的銷售量總計和對開列該州的所有客戶的 Recordset 的引用。訪問該客戶 Recordset 將會發(fā)現(xiàn)與前面的范例一樣,每個客戶行均含有對包含所有該客戶定單的 Recordset 的引用。

Shape 命令語法使您能夠通過編程創(chuàng)建成形的 Recordset。然后就可以通過編程或適當(dāng)?shù)目梢暬丶L問 Recordset 的組件。

有關(guān)數(shù)據(jù)構(gòu)形的詳細(xì)信息,請參閱如下主題:

?數(shù)據(jù)構(gòu)形總結(jié)

 

?數(shù)據(jù)構(gòu)形所需的提供者

 

?常規(guī) Shape 命令

 

?Shape Append 命令

 

?Shape Compute 命令

 

?訪問分級 Recordset 中的行

 

?形狀語法格式