Using ADO.NET DataAdapter Objects to Submit Updates
Chapter 5 focused on using the DataAdapter to store the results of queries into DataTables, but that's really only half the functionality of the DataAdapter. The object is also designed to submit pending changes to your DataSet.
You have the following three choices when it comes to generating the updating logic that your DataAdapter objects use to submit changes to your database:
Use code to manually configure your DataAdapter objects.
Use a CommandBuilder at run time.
Use the Data Adapter Configuration Wizard at design time.
Each of these methods has benefits and drawbacks. In the following sections, I will explain both in great detail.