共用方式為


HOW TO:在現有的 Visual Studio 專案中實作階層式更新

更新:2007 年 11 月

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

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

注意事項:

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

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

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

    Visual Studio 轉換精靈隨即開啟。

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

  3. 方案總管中按兩下 .xsd 檔案,即可在 DataSet 設計工具中開啟資料集。

  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 概觀