共用方式為


從 Visual Studio 2008 開始,TableAdapterManager 元件強化了具型別資料集。 TableAdapterManager 減少所需的程式碼,即可將多張關聯資料表中的資料,從多行程式碼的多個常式儲存至單一方法呼叫:TableAdapterManager.UpdateAll(TypedDataset)。 根據預設,在專案中加入或建立的所有新資料集,都已啟用階層式更新。 現有的資料集 (在 Visual Studio 2008 之前的 Visual Studio 版本中建立的資料集) 不含 TableAdapterManager 元件。 因此,在舊版中建立之資料集的 [階層式更新] 屬性預設都是 [False]。 將 [階層式更新] 屬性設定為 [True] 並儲存資料集,即可產生 TableAdapterManager 元件。 如需詳細資訊,請參閱TableAdapterManager 概觀

啟用階層式更新並產生 TableAdapterManager 元件

注意事項注意事項

在下列指示的某些 Visual Studio 使用者介面項目中,您的電腦可能會顯示不同的名稱或位置:您所擁有的 Visual Studio 版本以及使用的設定會決定這些項目。如需詳細資訊,請參閱 Customizing Development Settings in Visual Studio

若要啟用舊版具型別資料集的階層式更新

  1. 在 Visual Studio 中開啟包含具型別資料集的專案。

  2. 完成 [Visual Studio 轉換精靈]。

  3. 在 [方案總管] 中按兩下 .xsd 檔案,在 建立和編輯具類型資料集中開啟資料集。

  4. 按一下 [DataSet 設計工具] 中的空白區域。

  5. 屬性視窗中找出 [階層式更新] 屬性。

  6. 將 [階層式更新] 屬性的值設定為 [True]。

  7. 在 [建置] 功能表上,按一下 [建置方案]。

設定 TableAdapterManager 並儲存資料

將 [階層式更新] 屬性設定為 [True] 並儲存資料集,即可產生會啟用階層式更新的 TableAdapterManager 元件。 產生 TableAdapterManager 元件之後,請更新現有的程式碼以具現化新的 TableAdapterManager,並且呼叫 TableAdapterManager.UpdateAll() 方法而非個別的 TableAdapter.Update() 方法。 如果現有的 TableAdapter 程式碼位於類別庫中 (或者沒有使用者介面的任何檔案),您就必須以程式設計方式具現化新的 TableAdapterManager。 如果現有的 TableAdapter 程式碼是在表單上,則您可以將 TableAdapterManager 元件從 [工具箱] 拖曳至表單,即可具現化新的 TableAdapterManager。

TableAdapterManager 都是強型別 (Strongly Typed),這表示它們在產生時,都包含會參考它們所管理之個別 TableAdapter 的屬性。 具現化 TableAdapterManager 之後,請將個別 TableAdapter 屬性設定為每個 TableAdapter 的執行個體,如下列程序所示。

若要將 TableAdapterManager 加入至不含使用者介面的現有專案

  1. 找出會呼叫 TableAdapter.Update 方法的程式碼 (例如,CustomersTableAdapter.Update(NorthwindDataSet.Customers))。

  2. 以下列內容取代會呼叫個別 TableAdapter.Update 方法的程式碼:

    Dim adapterManager as new TableAdapterManager
    adapterManager.TableName1TableAdapter = new _
    TableName1TableAdapter
    adapterManager.TableName2TableAdapter = new _
    TableName2TableAdapter
    
    adapterManager.UpdateAll(Me.DataSetName)
    
    TableAdapterManager adapterManager = 
    new TableAdapterManager();
    
    adapterManager.TableName1TableAdapter = 
    new TableName1TableAdapter();
    adapterManager.TableName2TableAdapter = 
    new TableName2TableAdapter();
    
    adapterManager.UpdateAll(this.DataSetName);
    

若要將 TableAdapterManager 加入至具有使用者介面的現有專案

  1. 在 [設計] 檢視中開啟表單。

  2. 將 TableAdapterManager 元件從 [工具箱] 拖曳到表單上。

  3. 找出會呼叫 TableAdapter.Update 方法的程式碼 (例如,CustomersTableAdapter.Update(NorthwindDataSet.Customers))。

  4. 以下列內容取代會呼叫個別 TableAdapter.Update 方法的程式碼:

    Me.TableAdapterManager.TableName1TableAdapter = _
    new DatasetNameTableAdapters.TableName1TableAdapter
    Me.TableAdapterManager.TableName2TableAdapter = _
    new DatasetNameTableAdapters.TableName2TableAdapter
    
    Me.TableAdapterManager.UpdateAll(Me.DataSetName)
    
    TableAdapterManager.TableName1TableAdapter = new 
    TableName1TableAdapter();
    TableAdapterManager.TableName2TableAdapter = new 
    TableName2TableAdapter();
    
    TableAdapterManager.UpdateAll(this.DataSetName);
    

請參閱

概念

階層式更新概觀

TableAdapterManager 概觀