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 設定。 |
若要啟用舊版具型別資料集的階層式更新
在 Visual Studio 2008 中開啟包含具型別資料集的專案。
Visual Studio 轉換精靈隨即開啟。
完成 [Visual Studio 轉換精靈]。
在方案總管中按兩下 .xsd 檔案,即可在 DataSet 設計工具中開啟資料集。
按一下 [DataSet 設計工具] 中的空白區域。
在屬性視窗中找出 [階層式更新] 屬性。
將 [階層式更新] 屬性的值設定為 [True]。
按一下 [建置] 功能表上的 [建置方案]。
設定 TableAdapterManager 並儲存資料
將 [階層式更新] 屬性設定為 [True] 並儲存資料集,即可產生會啟用階層式更新的 TableAdapterManager 元件。產生 TableAdapterManager 元件之後,請更新現有的程式碼以具現化新的 TableAdapterManager,並且呼叫 TableAdapterManager.UpdateAll() 方法而非個別的 TableAdapter.Update() 方法。如果現有的 TableAdapter 程式碼位於類別庫中 (或者沒有使用者介面的任何檔案),您就必須以程式設計方式具現化新的 TableAdapterManager。如果現有的 TableAdapter 程式碼是在表單上,則您可以將 TableAdapterManager 元件從 [工具箱] 拖曳至表單,即可具現化新的 TableAdapterManager。
TableAdapterManager 都是強型別 (Strongly Typed),這表示它們在產生時,都包含會參考它們所管理之個別 TableAdapter 的屬性。具現化 TableAdapterManager 之後,請將個別 TableAdapter 屬性設定為每個 TableAdapter 的執行個體,如下列程序所示。
若要將 TableAdapterManager 加入至不含使用者介面的現有專案
找出會呼叫 TableAdapter.Update 方法的程式碼 (例如,CustomersTableAdapter.Update(NorthwindDataSet.Customers))。
以下列內容取代會呼叫個別 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 加入至具有使用者介面的現有專案
在 [設計] 檢視中開啟表單。
將 TableAdapterManager 元件從 [工具箱] 拖曳到表單上。
找出會呼叫 TableAdapter.Update 方法的程式碼 (例如,CustomersTableAdapter.Update(NorthwindDataSet.Customers))。
以下列內容取代會呼叫個別 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);