我如何获取受此语句影响的记录数:

select * from x_table where column1 = 5

我以为ExecuteNonQuery是我需要的,但返回-1。我预期为2,因为我的表中有两个带有column1 = 5的记录。如何获得正确的计数?

最佳答案

您正在调用ExecuteNonQuery-但这是一个查询!您的语句不会影响任何行,因为它只是一个查询。您需要将计数部分放入查询中,如下所示:

select count(*) from x_table where column1 = 5

然后,获得结果的最简单方法是使用 ExecuteScalar :
int count = (int) command.ExecuteScalar();

您可以将其作为读取器执行并获得唯一的结果,但是ExecuteScalar更简单。

关于c# - 受此语句影响的记录数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7325166/

10-12 05:45