Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

How to: Set the Order When Performing a Hierarchical Update

When you save modified data in a dataset to a database (with hierarchical update enabled), you can control the order that the TableAdapterManager uses to send the individual Inserts, Updates, and Deletes that are required to save the data. The default order for performing a hierarchical update is Inserts, Updates, and then Deletes. The TableAdapterManager provides an UpdateOrder property that can be set to perform Updates first, then Inserts, and then Deletes.

It is important to understand that, by default, the TableAdapterManager first performs Inserts for all tables in the dataset, then Updates for all tables in the dataset, and then Deletes for all tables in the dataset.

Changing the update order to perform Updates first can be helpful when you are changing primary key values of existing records. Performing the Update first will modify the existing record as expected. Performing the Insert first will create a new record because the new primary key is not yet in the database.

To set the order in which to perform a hierarchical update

  1. In Design view, open the form that contains the TableAdapterManager that is performing your update.

  2. Click the TableAdapterManager in the component tray.

  3. Set the UpdateOrder property in the Properties window to the order required for your application.

To programmatically set the order in which to perform a hierarchical update

  • The following code sets the TableAdapterManager to perform all Updates, then all Inserts, and then all Deletes. (Replace yourDataSetTableAdapters with a valid name from your project.)

    Me.TableAdapterManager.UpdateOrder = _
    yourDataSetTableAdapters.TableAdapterManager.UpdateOrderOption.UpdateInsertDelete
    

    this.tableAdapterManager.UpdateOrder = 
    yourDataSetTableAdapters.TableAdapterManager.UpdateOrderOption.UpdateInsertDelete;
    
  • The following code sets the TableAdapterManager to perform all Inserts, then all Updates, and then all Deletes. This is the default TableAdapterManager behavior.

    Me.TableAdapterManager.UpdateOrder = _
    yourDataSetTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete
    

    this.tableAdapterManager.UpdateOrder = 
    yourDataSetTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete;
    
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.