1

重複の可能性:
SQL: 行を更新し、1 つのクエリで列の値を返す
ExecuteNonQuery で影響を受ける行を取得する

ユーザーが SQL クエリを入力するテキスト ボックスがあります。

クエリの例は次のとおりです。

UPDATE customer SET isnew = 1;

上記のクエリを実行すると 4 行が更新されます。SQL Server から返される「4 行が影響を受けました」というメッセージを取得するにはどうすればよいですか。

使用してみましたが、これは「データベース コンテキストを 'databasenamehere' に変更しました」InfoMessageなどのメッセージのみを返し、影響を受ける実際の行は返しません。

4

2 に答える 2

10

SqlCommand.ExecuteNonQueryは、影響を受けるレコードの数を次のように返しますint

var command = new SqlCommand("UPDATE customer SET isnew = 1;", conn);
int recordsAffected = command.ExecuteNonQuery();
于 2013-01-24T15:37:38.483 に答える
4

目的のメッセージは表示されませんが、同じ数になります。

    declare @RC int
(your statement here)
SELECT @RC = @@ROWCOUNT

これにより、ステートメントの行数がわかります。

于 2013-01-24T15:37:34.457 に答える