1

可能重复:
SQL:使用 1 个查询更新行并返回列值
在 ExecuteNonQuery 上获取受影响的行

我有一个文本框,用户可以在其中输入他们的 SQL 查询。

示例查询可能是:

UPDATE customer SET isnew = 1;

运行上述查询更新 4 行,我如何获得 SQL Server 返回的“4 行受影响”消息。

我尝试过使用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 回答