共用方式為


結果集和資料集的比較 (裝置)

更新:2007 年 11 月

Visual Studio資料來源組態精靈可以在以 DataSetSystem.Data.SqlServerCe.SqlCeResultSet 為基礎的裝置專案中,產生資料原始程式碼。產生的程式碼代表裝置專案中的資料來源,可以繫結至使用者介面控制項,並與 SQL Server Compact 3.5 資料庫交換資料。不過,以 SqlCeResultSet 為基礎的程式碼,要比以 DataSet-為基礎的程式碼,具有更快的執行速度、使用較少記憶體,而且比較簡便。這是因為 SqlCeResultSet 使用指標直接處理資料庫,DataSet 則是在裝置應用程式中儲存來自資料庫的資料複本。本主題說明以 SqlCeResultSetDataSet-為基礎的資料來源。

注意事項:

根據預設,當您使用 [資料來源精靈] 建立新資料來源時,Visual Studio 便會產生以 DataSet 為基礎的程式碼。若要產生任何這些類別的程式碼,請參閱 HOW TO:產生 SqlCeResultSet 程式碼 (裝置)

下列圖表說明 SqlCeResultSetsDataSets 之間的架構差異。

SqlCeResultSet 和 DataSet 之間的差異

結果集

當 [資料來源組態精靈] 產生以 SqlCeResultSet 為基礎的資料來源時,便會建立繼承自 SqlCeResultSet 的類別。不同於以 DataSet 為基礎的資料來源,以 SqlCeResultSet 為基礎的資料來源不會儲存資料。SqlCeResultSet 會維持資料庫的指標,並在不使用 TableAdapter 的情況下,讀取和更新資料庫中的資料。由於 SqlCeResultSet 是 SQL Server Compact 3.5 (舊版中的 SQL Server Mobile) 的 .NET Compact Framework 資料提供者,因此可以直接存取資料庫。如需詳細資訊,請參閱產生具型別的結果集

整體而言,以 SqlCeResultSet 為基礎的資料來源,要比以 DataSet 為基礎的資料來源,需要較少記憶體、具有較高效能,不過功能卻比較少。

資料集

當 [資料來源組態精靈] 產生以 DataSet 為基礎的資料來源時,便會建立類別來代表資料,並以 TableAdapter 類別在應用程式和資料庫之間交換資料。代表資料的類別是繼承自 DataSetMicrosoft.Office.Interop.Excel.DataTableDataRow,而且這些類別會儲存來自資料庫的資料。[資料來源精靈] 會產生下列項目,以產生資料庫關聯式結構與條件約束 (Constraint) 的鏡像:

  • 衍生自 DataSet 的類別,包含了在 [加入資料來源精靈] 中所選取之每個資料表的 Datatable。如需詳細資訊,請參閱具型別的 DataSet (ADO.NET)

  • DataTable 衍生的每個類別,也包含了一組資料庫欄位鏡像的 DataColumn 物件。

  • 為每個資料表從 DataRow 衍生的類別。

  • 來自資料庫的關聯式條件約束,例如不可為 null、唯一、主索引鍵和外部索引鍵。

  • 在資料庫和裝置應用程式之資料物件之間交換資料的 TableAdapter 類別。包含可從資料庫讀取資料,以及可將變更的資料寫回資料庫之方法的 TableAdapter 類別。如需詳細資訊,請參閱 TableAdapter 概觀

本主題中之前所說明的類別都與 ADO.NET 架構相容。因此,其資料存取模型也類似於在桌面上使用 .NET Framework 的 ADO.NET 資料。如需詳細資訊,請參閱存取資料 (Visual Studio).NET Compact Framework 中的資料存取和 XML 支援

整體而言,以 DataSet 為基礎的資料來源,要比以 SqlCeResultSet 為基礎的資料來源,具有更多的功能,不過卻需要更多的記憶體和處理器資源。

請參閱

工作

HOW TO:產生 SqlCeResultSet 程式碼 (裝置)

概念

資料存取策略的建議事項

其他資源

SQL Server Compact 線上叢書首頁

使用 Managed 裝置專案中的資料