ASP.NET C# プログラムから次の SQL ステートメント ブロックを使用しています。
SET XACT_ABORT ON; --Need to roll back upon failure
BEGIN TRANSACTION; --Need to be performed atomically
UPDATE MyTable SET Col1='SomeValue' WHERE ColID='N';
DELETE FROM MyTable WHERE ColID='X';
COMMIT;
SET XACT_ABORT OFF;
上記の SQL ブロックは、次を返す必要があるSqlCommand.ExecuteNonQuery メソッドを呼び出すことによって一度に実行されます。
UPDATE、INSERT、および DELETE ステートメントの場合、戻り値はコマンドの影響を受けた行数です。
しかし、ExecuteNonQuery() から戻ったときに得られるのは、削除されたレコードの数に追加された更新されたレコードの数です。だから私の質問は、どうにかして削除されたレコードの数だけを返すようにすることはできますか?