我有一个文本框,用户可以在其中输入他们的 SQL 查询。
示例查询可能是:
UPDATE customer SET isnew = 1;
运行上述查询更新 4 行,我如何获得 SQL Server 返回的“4 行受影响”消息。
我尝试过使用InfoMessage
,但这只会返回诸如“将数据库上下文更改为“数据库名称此处”之类的消息,而不是实际受影响的行。
我有一个文本框,用户可以在其中输入他们的 SQL 查询。
示例查询可能是:
UPDATE customer SET isnew = 1;
运行上述查询更新 4 行,我如何获得 SQL Server 返回的“4 行受影响”消息。
我尝试过使用InfoMessage
,但这只会返回诸如“将数据库上下文更改为“数据库名称此处”之类的消息,而不是实际受影响的行。
SqlCommand.ExecuteNonQuery返回影响的记录数int
:
var command = new SqlCommand("UPDATE customer SET isnew = 1;", conn);
int recordsAffected = command.ExecuteNonQuery();
它不会收到您想要的消息,但这将获得相同的计数:
declare @RC int
(your statement here)
SELECT @RC = @@ROWCOUNT
这将为您提供语句的行数。