當您將資料集中修改過的資料儲存至資料庫時 (已啟用階層式更新),可以控制 TableAdapterManager 用來傳送個別「插入」、「更新」及「刪除」的順序,這些是儲存資料時必須使用到的動作。 階層式更新的預設執行順序為「插入」、「更新」和「刪除」。 TableAdapterManager 提供 UpdateOrder 屬性,可以設定為先執行「更新」再執行「插入」,然後執行「刪除」。

重點是您必須了解,TableAdapterManager 預設會先對資料集中所有資料表執行「插入」,然後對資料集中所有資料表執行「更新」,再對資料集中所有資料表執行「刪除」。

將更新的順序更改為先執行「更新」,有助於您變更現有資料錄的主索引鍵值。 先執行「更新」會依預期修改現有資料錄。 先執行「插入」會建立一筆新的記錄,因為資料庫中還沒有新的主索引鍵。

程序

若要設定階層式更新的執行順序

  1. 在 [設計] 檢視中,開啟內含正在執行更新之 TableAdapterManager 的表單。

  2. 按一下元件匣中的 TableAdapterManager。

  3. 將 [屬性] 視窗中的 [UpdateOrder] 屬性,設定為應用程式所需的順序。

若要以程式設計方式設定階層式更新的執行順序

  • 下列程式碼會設定 TableAdapterManager,以執行所有「更新」、所有「插入」,最後是所有「刪除」(以專案的有效名稱取代 yourDataSetTableAdapters)。

    Me.TableAdapterManager.UpdateOrder = _
    yourDataSetTableAdapters.TableAdapterManager.UpdateOrderOption.UpdateInsertDelete
    
    this.tableAdapterManager.UpdateOrder = 
    yourDataSetTableAdapters.TableAdapterManager.UpdateOrderOption.UpdateInsertDelete;
    
  • 下列程式碼會設定 TableAdapterManager,以執行所有「插入」、所有「更新」,最後是所有「刪除」。 這是預設的 TableAdapterManager 行為。

    Me.TableAdapterManager.UpdateOrder = _
    yourDataSetTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete
    
    this.tableAdapterManager.UpdateOrder = 
    yourDataSetTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete;
    

請參閱

工作

如何:啟用和停用階層式更新

逐步解說:儲存關聯資料表的資料 (階層式更新)

概念

階層式更新概觀

儲存資料集中的資料