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;

1になります@@ROWCOUNTが、別のテーブルは返されません。

于 2012-12-17T17:29:25.607 に答える