共用方式為


非參數化命令的作業

對於非參數化命令,會執行所有提供者命令,並在命令執行期間建立 Recordsets。 如果命令以同步方式執行,則會完整填入所有 Recordsets。 如果選擇了異步填入模式,那麼 Recordsets 的填入狀態將取決於填入模式和 Recordsets的大小。

例如,父命令 可以從 Customers 數據表傳回公司客戶的 Recordset,而 子命令 可以從 Orders 數據表傳回所有客戶的 Recordset 訂單。

SHAPE {SELECT * FROM Customers}   
   APPEND ({SELECT * FROM Orders} AS chapOrders   
   RELATE customerID TO customerID)  

對於非參數化父子式關聯性,每個父系和子系 Recordset 對象都必須有一個共同的數據行,才能建立關聯。 資料欄會在 RELATE 子句中命名,先 父欄位,然後 子欄位。 數據行在其各自的 Recordset 物件中可能有不同的名稱,但必須參考相同的資訊,才能指定有意義的關聯性。 例如,CustomersOrders Recordset 物件都可以有 customerID 字段。 由於子系 Recordset 的成員資格是由提供者命令所決定,因此子 Recordset 可以包含孤立的數據列。 這些孤立的數據列無法被存取,除非進行額外的重新調整。

資料成形會將章節欄位附加至父 Recordset。 chapter 數據行中的值是子系 Recordset中數據列的參考,滿足 RELATE 子句。 也就是說,相同的值位於指定父行 父欄位中,正如位於章節子系中所有行的 子欄位中的 子行一樣。 在同一個 RELATE 子句中使用多個 TO 子句時,會使用 AND 運算子隱含合併它們。 如果 RELATE 子句中的父數據行未構成父 Recordset索引鍵,則單一子數據列可以有多個父數據列。

當您存取章節欄位中的該參考時,ADO 會自動擷取該參考所代表的 Recordset。 請注意,在非參數化命令中,雖然已擷取整個子系 Recordset,但章節只會呈現數據列的子集。

如果附加的數據行沒有 章節別名,則會自動為其產生名稱。 針對欄的 Field 物件會附加到 Recordset 物件的 Fields 集合中,而且其數據類型將會是 adChapter

如需巡覽階層式 Recordset的相關信息,請參閱 存取階層式 Recordset 中的數據列

另請參閱

數據成形範例
形式圖形文法
一般 形狀指令