共用方式為


數據成形概觀

數據成形 表示在查詢中建立兩個或多個邏輯實體之間的階層式關聯性。 可以在一個 Recordset的記錄與另一個 Recordset的一個或多個記錄(也稱為章節)之間看出其父子關係中隱含的階層。 在父子關係中,父 Recordset 包含有子 Recordset。 這類階層式關聯性的範例是客戶和訂單。 對於資料庫中的每一位客戶,可以有零或多個訂單。 階層式關聯可以是遞迴的,這表示孫子記錄可以嵌套在子記錄之中。 原則上,階層式記錄可以巢狀至任何深度。 實際上,ADO 會將遞歸限制為最多 512 Recordset秒。

一般而言,具形狀的 Recordset 數據列 可以包含來自數據提供者的數據,例如 SQL Server、另一個 Recordset的參考、由 Recordset單一行的計算得出的值,或由整個 Recordset 數據列進行運算得出的值。 欄位也可以是新建且為空的。

當您擷取包含另一個 Recordset參考的數據行值時,ADO 會自動傳回參考所代表的實際 RecordsetRecordset 的參考實際上是此子集合的一個子集,稱作 子章。 單一父系可以參考一個以上的子系 Recordset

ADO 對資料成形的支援可讓您查詢資料源,並回傳一個 Recordset,其中一個(父)記錄代表一個(子)Recordset。 在顧客訂單場景中,您可以使用數據整形來在一次查詢中獲取客戶資訊及每位客戶下的訂單。 結果 Recordset 也稱為 Recordset

此外,ADO 中的數據成形可讓您使用 new NEW 關鍵詞來描述 Recordets 父系和子系Recordets 的欄位,以建立不含基礎數據源的新 Recordset 物件。 然後,新的 Recordset 物件就可以填入數據並持續儲存。 開發人員也可以在子欄位上執行各種計算或匯總(例如,SUMAVGMAX)。 數據成形也可以通過將子記錄集中的記錄分組,從而將每個群組的一行放在父記錄集中,來從子 Recordset 建立父 Recordset

一般 SQL 可讓您使用 JOIN 語法來擷取數據,但這可能會效率低下且繁瑣,因為在針對特定父子關係返回的每條記錄中,重複了冗余的父數據。 數據成形可以將父系 Recordset 中的單一父記錄 與子 Recordset中的多個子記錄產生關聯,避免 JOIN的備援。 大多數人發現父子多 Recordset 程式設計模型比單一 Recordset JOIN 模型更自然且更容易使用。