0

DataAdapter.UpdateCommand调用了一个存储过程,除了更新当前记录(例如,删除相关记录)之外,它还执行其他操作。因此,受我的存储过程影响的行可能为零,从而触发以下错误:

Concurrency violation: the UpdateCommand affected 0 of the expected 1 records

我知道我可以捕获错误,但我更愿意将 ADO.Net 设置为在特定情况下不检查并发冲突。

4

1 回答 1

0

这是我现在想出的一个技巧。我将存储过程中的最后一条语句修改为:

--hack to force @@ROWCOUNT to be 1. needed for ado.net concurrency violation check
DECLARE @Hack BIT; SELECT @Hack = 0;

它产生@@ROWCOUNT1,但不返回另一个表。

于 2012-12-17T17:29:25.607 回答