ExecuteNonQuery()返回受影响行数的问题

来源:互联网 发布:云视通网络监控进不去 编辑:程序博客网 时间:2024/04/29 06:40

在使用ExecuteNonQuery()方法时,如果是执行update,insert或者delete操作,该方法返回操作影响的行数,如果执行失败,返回-1;而如果是执行select或者其它像create之类的操作,则无论成功还是失败都返回-1.所以我的那段代码这么写并不能判断SQLHelper类的操作是否正确执行了,要改成下面这样就可以了.
        SqlCommand cmd = new SqlCommand(conn,"update Table set id=1 where id=2");
        int sqlResult = cmd.ExecuteNonQuery();

调试一下,返回结果为1.

最后得出的结论是:当执行的操作是update,insert或者delete时,可以通过判断ExecuteNonQuery返回值是否大于0来得到该操作是否被执行.当执行的操作是select或者其它操作时,可以使用try-catch语句来判断.

原创粉丝点击