У меня есть (другой) вопрос о написании OleDbCommand's. У меня есть сложная команда выбора (включает несколько левых соединений), и OleDbCommandBuilder не может генерировать команды обновления для меня.
Я не могу понять магию написания команд обновления. Я знаю структуру оператора обновления SQL, однако я немного озадачен тем, как это работает с OleDbDataAdapter. Я знаю, что когда я вызываю adaptor.Update (), он обновит только необходимые строки DataTable, однако я не знаю, как написать команду обновления, чтобы он мог знать, какое поле в , какая таблица нуждается в обновлении.
Я был бы очень признателен, если бы кто-то мог объяснить мне этот процесс и указать мне правильное направление.
Редактировать : Поскольку никто не отвечает, я опубликую более подробную информацию относительно моего вопроса:
У меня есть оператор выбора в этой форме:
select field1, field2, fieldn from table1 left join table2 on condition left join table3 on condition where condition1 and condition2
меня удивляет, как написать заявление об обновлении, поскольку я не могу написать его так:
update table1, table2 set field1 = newvalue where condition1 and condition2
Так что я не понимаю, как это сделать, поскольку оператор обновления принимает только один аргумент таблицы. Можно ли даже вызвать метод OleDbDataAdapter.Update для этого типа DataTables?