There's many things wrong with this code. First of all - don't open and close the connection yourself (especially while editing the DataSet - it's a disconnected recordset to no connection is needed; this is not ADO); the OleDbDataAdapter opens and closes the connection reliably. Second, OleDbDataAdapter.Update will call DataSet.AcceptChanges() internally - you do not need to call this yourself. Third, as the other poster said, in order to update your database with the changed data in a DataSet, you need to have the corresponding properties of an OleDbDataAdapter - UpdateCommand, InsertCommand, and DeleteCommand - assigned appropriately. So, if you have records that have been changed, the UpdateCommand is needed. If the DataSet ultimately contains rows that were added or deleted, you need the InsertCommand and DeleteCommand properties assigned, respectively. For simple queries (whatever is assigned to the SelectCommand) you can use the OleDbCommandBuilder as the other poster said. How do you expect the OleDbDataAdapter to update the database if it doesn't know how to update the database?
Microsoft MVP, Visual C# My Articles