我有(另一个)关于编写 OleDbCommand 的问题。我有一个复杂的选择命令(包括几个左连接)并且 OleDbCommandBuilder 无法为我生成更新命令。
我似乎无法掌握编写更新命令背后的魔力。我知道 SQL 更新语句的结构,但是我对它如何与 OleDbDataAdapter 一起工作感到有点困惑。我知道当我调用 adapter.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
所以我不明白怎么做,因为 update 语句只接受一个表参数。甚至可以在这种 DataTables 上调用 OleDbDataAdapter.Update 方法吗?