| title | description | ms.date | ms.topic | dev_langs | helpviewer_keywords | author | ms.author | manager | ms.subservice | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Update data with TableAdapter (.NET Framework) |
Update data in a dataset with .NET Framework application development in Visual Studio and return data to the database with the ADO.NET TableAdapter.Update method. |
11/04/2016 |
how-to |
|
|
ghogen |
ghogen |
jmartens |
data-tools |
[!INCLUDE Data access tech note]
After the data in your dataset has been modified and validated, you can send the updated data back to a database by calling the Update method of a TableAdapter. The Update method updates a single data table and runs the correct command (INSERT, UPDATE, or DELETE) based on the xref:System.Data.DataRow.RowState%2A of each data row in the table. When a dataset has related tables, Visual Studio generates a TableAdapterManager class that you use to do the updates. The TableAdapterManager class ensures that updates are made in the correct order based on the foreign-key constraints that are defined in the database. When you use data-bound controls, the databinding architecture creates a member variable of the TableAdapterManager class called tableAdapterManager.
Note
When you try to update a data source with the contents of a dataset, you can get errors. To avoid errors, we recommend that you put the code that calls the adapter's Update method inside a try/catch block.
The exact procedure for updating a data source can vary depending on business needs, but includes the following steps:
-
Call the adapter's
Updatemethod in atry/catchblock. -
If an exception is caught, locate the data row that caused the error.
-
Reconcile the problem in the data row (programmatically if you can, or by presenting the invalid row to the user for modification), and then try the update again (xref:System.Data.DataRow.HasErrors%2A, xref:System.Data.DataTable.GetErrors%2A).
Call the Update method of a TableAdapter. Pass the name of the data table that contains the values to be written to the database.
-
Enclose the TableAdapter's
Updatemethod in atry/catchblock. The following example shows how to update the contents of theCustomerstable inNorthwindDataSetfrom within atry/catchblock .:::code language="csharp" source="../snippets/csharp/VS_Snippets_VBCSharp/VbRaddataSaving/CS/Form3.cs" id="Snippet9":::