[Ado.net ]使用DBCommand来批量更新数据-困惑
使用 DBCommand 来更新数据是理想的选择,我已经做到:
自动生成 InSertCommand ,UpdateCommand,DelCommand 并给他们赋值更新。
''' 保存一行数据该数据可能会被删除
Public Function Save(ByVal pDataRow As TDataRow) As String
Dim AffectRowCount As Integer
If pDataRow.State = E_DBStor_State.isadd Then
SetCommandValue(InSertCommand, pDataRow)
AffectRowCount = InSertCommand.ExecuteNonQuery()
ElseIf pDataRow.State = E_DBStor_State.IsUpdate Then
SetCommandValue(UpdateCommand, pDataRow)
AffectRowCount = UpdateCommand.ExecuteNonQuery()
ElseIf pDataRow.State = E_DBStor_State.IsDel Then
SetKeyValue(DelCommand, pDataRow)
AffectRowCount = DelCommand.ExecuteNonQuery()
End If
Return AffectRowCount
End Function
现在就是批量更新的问题,比较困惑 ,我的程序返回的是个修改过的信息,
比如 DataRow中有 A1 B1 C1 列
如果 A1和B1 被修改 返回的是 DataRow 状态是修改 子集中只有 A1和B1 没有未被改动的 C1
那么现在要更新数据,动态的 UpdateCommand 是否要加入参数 C1 ?
在批量的修改情况下,有两办法可以做到更新,就是不知道那个好,
循环修改列表。 每一条记录重新生成一个 UpdateCommand 再保存
循环修改列表。 缓冲一个全局的UpdateCommand,通过清除,改动参数 再保存
---??请指教