OleDbDataAdapter objects act as a bridge between datasets and data sources. As you know, datasets are really just repositories of data; they're not directly connected to a database. OleDbDataAdapter objects connect datasets and data sources by supporting the Fill method to load data from the data source into the dataset, and the Update method to send changes you've made in the dataset back to the data source.
After you've created a data connection and used it to create a command object, you can assign the command object to one of the command properties of the data adapter—SelectCommand, InsertCommand, DeleteCommand, and UpdateCommand. (All these command objects are created automatically when you use the Data Adapter Configuration Wizard—see "Data Access Using Data Adapter Controls" in Chapter 20.) These commands are used as needed by the data adapter.
You also have to specify a table mapping when creating a data adapter object. The names of the tables you use in a dataset can be different from those in the database, depending on how you've named them, and a table mapping relates the table names in the database to the names in the dataset. For example, here's how I connect the tables in the database to names I've given them in the dataset:
Dim Table1Mappings As New DataTableMappingCollection() Table1Mappings.Add("authors", "writers") Table1Mappings.Add("publishers", "company")
If you do not specify a TableName or a TableMapping name when calling the Fill or Update method of a data adapter, the data adapter searches for a TableMapping object named "Table". If it can't find that object, the data adapter uses the name "Table" for the data source table, and that means you can create a default table mapping by creating a TableMapping object using the table name "Table". For example, here's how I create a new OleDbDataAdapter object, set up the select command object it should use to populate datasets, create a default table mapping, and fill a dataset named ds with the authors table, using this adapter:
Dim OleDbDataAdapter1 As OleDbDataAdapter = New OleDbDataAdapter() OleDbDataAdapter1.SelectCommand = Command1 OleDbDataAdapter1.TableMappings.Add("Table", "authors") OleDbDataAdapter1.Fill(ds)