一尘不染

SELECTNSQL的ExecuteNonQuery不返回任何行

c#

在ExecuteNonQuery for SELECT sql语句未返回行之后,如何检查没有返回行?


阅读 273

收藏
2020-05-19

共1个答案

一尘不染

所述ExecuteNonQuery Method受任一种返回的行(一个或多个)的数量INSERT,一个UPDATE或一个DELETE。如前所述,该方法将用于执行DML(数据操作语言)语句。

ExecuteReader Method返回的结果集的SELECT。查询一堆结果(例如表中的行,视图等)时,将使用此方法。

ExecuteScalar Method会的第一排,从第一列返回单个值SELECT的语句。当您期望查询中只返回一个值时,将使用此方法。

简而言之,SELECT使用 ExecuteNonQuery 方法获取语句的结果是正常的。请改用 ExecuteReader
。使用该ExecuteReader方法,将了解通过SqlDataReader返回的对象实例返回的行数。

int rows = 0;

if (reader.HasRows)
    while (reader.Read())
        rows++;

return rows; // Returns the number of rows read from the reader.
2020-05-19