從 Visual Studio 2008 開始,TableAdapterManager 元件強化了具型別資料集。 TableAdapterManager 減少所需的程式碼,即可將多張關聯資料表中的資料,從多行程式碼的多個常式儲存至單一方法呼叫:TableAdapterManager.UpdateAll(TypedDataset)。 根據預設,在專案中加入或建立的所有新資料集,都已啟用階層式更新。 現有的資料集 (在 Visual Studio 2008 之前的 Visual Studio 版本中建立的資料集) 不含 TableAdapterManager 元件。 因此,在舊版中建立之資料集的 [階層式更新] 屬性預設都是 [False]。 將 [階層式更新] 屬性設定為 [True] 並儲存資料集,即可產生 TableAdapterManager 元件。 如需詳細資訊,請參閱TableAdapterManager 概觀。
啟用階層式更新並產生 TableAdapterManager 元件
注意事項 |
---|
您的電腦對於下列指示中某些 Visual Studio 使用者介面項目的名稱或位置,可能會顯示不同的資訊:您所擁有的 Visual Studio 版本以及使用的設定會決定這些項目。如需詳細資訊,請參閱<Visual Studio 中的自訂開發設定>。 |
若要啟用舊版具型別資料集的階層式更新
在 Visual Studio 中開啟包含具型別資料集的專案。
完成 [Visual Studio 轉換精靈]。
在 [方案總管] 中按兩下 .xsd 檔案,在 建立和編輯具類型資料集中開啟資料集。
按一下 [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);