System.Data.DataSet 類別

本文提供此 API 參考文件的補充備註。

類別 DataSet 是從數據源擷取之數據的記憶體內部快取,是 ADO.NET 架構的主要元件。 DataSet是由物件集合DataTable所組成,您可以與 物件相互DataRelation關聯。 您也可以使用 UniqueConstraintForeignKeyConstraint 物件,在中DataSet強制執行數據完整性。 如需使用 DataSet 對象的詳細資訊,請參閱 DataSets、DataTables 和 DataViews

雖然 DataTable 物件包含數據, DataRelationCollection 但可讓您瀏覽數據表階層。 數據表會包含在 DataTableCollection 透過屬性存取的 Tables 中。 存取 DataTable 物件時,請注意它們有條件地區分大小寫。 例如,如果其中一個 DataTable 名稱為 「mydatatable」,而另一個名為 「Mydatatable」,則用來搜尋其中一個數據表的字串會被視為區分大小寫。 不過,如果 「mydatatable」 存在且 「Mydatatable」 不存在,則搜尋字串會視為不區分大小寫。 如需使用 DataTable 對象的詳細資訊,請參閱 建立DataTable

DataSet可以讀取和寫入數據及架構做為 XML 檔。 然後,數據與架構可以跨 HTTP 傳輸,並供任何應用程式在任何啟用 XML 的平臺上使用。 您可以使用 方法將架構儲存為 XML 架構 WriteXmlSchema ,而且可以使用 方法來儲存 WriteXml 架構和數據。 若要讀取同時包含架構和數據的 XML 檔,請使用 ReadXml 方法。

在典型的多層式實作中,建立和重新 DataSet整理 的步驟會接著更新原始數據:

  1. 使用 DataAdapter建置並填入 DataSetDataTable 數據源中的數據。

  2. 新增、更新或刪除DataRow物件,以變更個別DataTable對象中的數據。

  3. GetChanges叫用 方法,以建立第二DataSet個只包含數據變更的功能。

  4. Update呼叫 的 DataAdapter方法,傳遞第二DataSet個做為自變數。

  5. 叫用 方法, Merge 將第二 DataSet 個變更合併到第一個。

  6. AcceptChangesDataSet上叫用 。 或者,叫 RejectChanges 用 以取消變更。

注意

DataSetDataTable 物件繼承自 MarshalByValueComponent,並支援ISerializable遠端的 介面。 這些是唯一可以進行遠端通訊的 ADO.NET 物件。

注意

繼承自 DataSet 的類別不會由垃圾收集行程完成,因為 完成項已在 中 DataSet隱藏。 衍生類別可以呼叫 ReRegisterForFinalize 其建構函式中的 方法,以允許垃圾收集行程完成類別。

安全性考量

如需 DataSet 和 DataTable 安全性的相關信息,請參閱 安全性指引