共用方式為


使用 Visual Studio 在 .NET Framework 中建立及設定數據集

注意

數據集和相關類別是 2000 年代初的舊版 .NET Framework 技術,可讓應用程式在應用程式與資料庫中斷連線時使用記憶體中的數據。 這些技術特別適用於可讓使用者修改數據並將變更保存回資料庫的應用程式。 雖然數據集已證明是非常成功的技術,但建議新的 .NET 應用程式使用 Entity Framework Core。 Entity Framework 提供更自然的方式,以表格式數據作為物件模型使用,而且具有更簡單的程序設計介面。

數據集是一組物件,可在記憶體中儲存資料庫中的數據,並支援變更追蹤,以在該數據上建立、讀取、更新和刪除 (CRUD) 作業,而不需要一律連接到資料庫。 數據集是針對數據 商務應用程式的簡單 表單所設計。 針對新的應用程式,請考慮使用 Entity Framework 在記憶體中儲存和模型化數據。 若要使用數據集,您應該具備資料庫概念的基本知識。

在 Visual Studio 中,您可以在設計時使用 資料來源設定精靈建立類別化的 DataSet 類別。 如需以程式設計方式建立數據集的資訊,請參閱 建立數據集 ADO.NET

先決條件

使用數據源組態精靈建立新的數據集

  1. 在 Visual Studio 中開啟您的項目,然後選擇 [專案]>[新增數據源],以啟動 [數據源組態精靈]

  2. 選擇您要連接的數據來源類型。

    顯示 [數據源設定精靈] 的螢幕快照。

  3. 從選項清單中選擇 [DataSet]。

    顯示選擇 DataSet 作為資料庫模型的螢幕快照。

  4. 選擇將成為數據集數據源的資料庫或資料庫。

    顯示如何選擇連線的螢幕快照。

  5. 選擇是否要在 app.config中儲存連接字串。

    顯示將連接字串儲存至應用程式組態檔的選項的螢幕快照。

  6. 從您要在數據集中表示的資料庫,選擇數據表(或個別數據行)、預存程式、函式和檢視。

    顯示如何選擇資料庫物件的螢幕快照。

  7. 點選 [完成]

    數據集在 方案總管中顯示為一個節點。

    螢幕快照,其中顯示 [方案總管] 中的數據集。

  8. 按兩下 [方案總管] 中的數據集節點,在 DataSet Designer中開啟數據集。 數據集中的每個數據表都有一個相關聯的 TableAdapter 物件,其表示在底部。 數據表配接器可用來填入數據集,並選擇性地將命令傳送至資料庫。

    顯示DataSet Designer 中數據表的螢幕快照。

  9. 連接數據表的關聯線代表數據表關聯性,如資料庫中所定義。 根據預設,資料庫中的外鍵條件約束只會以關聯表示,而更新和刪除規則設定為 none。 一般而言,這就是您想要的。 不過,您可以點擊這些行以開啟 關聯 對話框,在那裡可以變更階層更新的行為。 如需詳細資訊,請參閱 數據集中的關聯性階層式更新

    [數據集關聯] 對話框

  10. 按兩下資料表中的資料表、資料表配接器或資料行名稱,即可在 [屬性] 視窗中查看其屬性。 您可以在這裡修改某些值。 請記住,您正在修改資料集,而不是源資料庫。

    顯示 DataSet 資料行屬性的螢幕快照。

  11. 您可以將新的資料表或資料表配接器新增至資料集,或為現有的資料表配接器新增新查詢,或從 [工具箱] 索引標籤拖曳這些專案來指定資料表之間的新關係。當資料集設計工具 處於焦點 時,就會顯示此索引標籤。

    顯示數據集工具箱的螢幕快照。

接下來,您可能想要指定如何使用資料填入資料集。 為此,您可以使用 TableAdapter 組態精靈。 如需詳細資訊,請參閱 使用 TableAdapters 填滿數據集

將資料庫數據表或其他物件新增至現有的數據集

此程式示範如何從您用來第一次建立數據集的相同資料庫新增數據表。

  1. 按兩下 [方案總管] 中的數據集節點,將 數據集設計工具 放在焦點中。

  2. 按兩下Visual Studio 左邊界的 [數據源] 索引標籤,或在搜尋方塊中輸入 數據源

  3. 以滑鼠右鍵按鍵單擊資料集節點,然後選取 [使用精靈設定資料來源]

    顯示 [數據源] 操作功能表的螢幕快照。

  4. 使用精靈來指定要新增至數據集的其他數據表、預存程式或其他資料庫物件。

將獨立數據表新增至數據集

  1. 數據集設計工具中開啟您的數據集。

  2. DataTable 類別從 [工具箱] 的 [DataSet] 索引卷標拖曳到 數據集設計工具

  3. 新增資料行以定義資料表。 在表格上點擊滑鼠右鍵,然後選擇 [[新增>欄位]。 視需要使用 [屬性] 視窗來設定數據行和索引鍵的數據類型。

獨立數據表需要實作 Fill 邏輯,以便填入數據。 如需填滿數據表的資訊,請參閱 從 DataAdapter填入數據集。