非參數化命令的作業
針對非參數化命令,會執行所有提供者參數,並在命令執行期間建立 Recordsets。 如果同步執行命令,則會完整填入所有 Recordsets。 如果選取非同步填入模式,Recordsets 的填入狀態會視填入模式和 Recordsets 的大小而定。
例如,parent-command 可從「客戶」資料表傳回公司客戶的 Recordset,child-command 可從「訂單」資料表傳回所有客戶訂單的 Recordset。
SHAPE {SELECT * FROM Customers}
APPEND ({SELECT * FROM Orders} AS chapOrders
RELATE customerID TO customerID)
針對非參數化父子關聯性,每個父系和子系 Recordset 物件必須有共同的資料行,才能建立關聯。 資料行會在 RELATE 子句中命名,先命名 parent-column,接著命名 child-column。 資料行在個別 Recordset 物件中可能會有不同名稱,但必須參考相同資訊,才能指定有意義的關聯性。 例如,Customers 和 Orders Recordset 物件可有 customerID 欄位。 由於子系 Recordset 的成員資格取決於提供者命令,因此子系 Recordset 可取得孤立資料列。 這些孤立資料列無法存取,不需要額外重新塑形。
資料塑形會將章節資料行附加至父系 Recordset。 章節資料行中的值為子系 Recordset 中資料行的參考,其滿足 RELATE 子句。 意即,指定父系資料列的 parent-column 中的值與章節子系中所有資料列的 child-column 值相同。 在相同 RELATE 子劇中使用多個 TO 子句時,會使用 AND 運算子隱含合併。 如果 RELATE 子句中的父系資料行未構成父系 Recordset 的索引鍵,單一子系資料列可有多個父系資料列。
當您存取章節資料行中的參考時,ADO 會自動擷取參考所表示的 Recordset。 請注意,在非參數化命令中,即使已擷取整個子系 Recordset,章節僅會顯示資料列的子集。
如果附加的資料行沒有 chapter-alias,則會自動產生其名稱。 資料行的 Field 物件會附加至 Recordset 物件的 Fields 集合,且其資料類型會是 adChapter。
如需瀏覽階層式 Recordset 的相關資訊,請參閱存取階層式 Recordset 中的資料列。