Я получил две таблицы данных из файла mdb с помощью oledb и изменил их.
accessConnection.Open();
string selectQuery = "SELECT * FROM Students";
DataAdapter = new OleDbDataAdapter(selectQuery, accessConnection);
DataAdapter.Fill(StudentsDataTable);
DataAdapter.SelectCommand.CommandText = "SELECT * FROM Teachers";
DataAdapter.Fill(TeachersDataTable);
// modified the two datatables
// ...
Однако у меня возникла проблема с обновлением двух таблиц обратно в файл mdb. Я не могу обновить StudentDataTable, потому что команда выбора DataAdapter уже была изменена на выбор TeachersDataTable. Когда я работаю только с одним DataTable, у меня нет такой проблемы.
DataAdapter.UpdateCommand = new OleDbCommandBuilder(DataAdapter).GetUpdateCommand();
DataAdapter.Update(StudentsDataTable); <-- exception error occur that columns don't match.
DataAdapter.Update(TeachersDataTable);
У вас есть идеи по обновлению двух таблиц данных с помощью одного DataAdapter? или Должен ли я иметь отдельные адаптеры данных для двух таблиц?