我正在使用DataTables在VB.NET 2.0中,我正在编写代码来处理我希望在多用户环境中发生的并发冲突。我知道如何捕获并发冲突,但我不知道如何在使用DbCommandBuilder生成的插入、更新和删除命令时解决这些问题。
在我看来,并发违规行为发生在五种不同的情况下:
当..。
更新database
我知道如何解决情况1;我找到了几个如何使用DataTable.Merge方法同步更新行的示例。然而,合并似乎不适用于其他4种情况。
例如,假设我试图更新数据库中并发删除的行(情景2),业务规则告诉我使用更新的列值将该行还原到数据库中。我不知道如何更改DataRow属性,以便Adapter.Update方法可以根据需要将行插入数据库;Merge没有这样做。
考虑到合并处理情景1的容易程度,我确信对于其他并发性违规也必须有简单的解决方案,而我只是忽略了它们。有人能给我一个正确的方向吗?
-TC
发布于 2011-06-24 22:27:55
如果要更新的行被另一个进程删除,并且需要还原,则需要捕获在尝试更新和响应时发生的并发异常,方法是将该行插入数据库:
保存更新后的值。database.
https://stackoverflow.com/questions/6474323
复制相似问题