在进行增删改时,数据库能为我们统计受影响行数的前提条件是,关闭NOCOUNT,即 Set nocount off。默认情况下,它是关闭的,即我们是可以得到受影响的行数的。我们在Visual Studio中写了一个存储过程时,它会被默认加上set nocount on。这样就导致了调用存储过程时始终得不到影响的行数,而返回-1。
对于update,insert,delete而言ExecuteNonQuery是不存在问题的,这里的问题仅仅是对select而言的
转载 http://www.cnblogs.com/jetlee/archive/2009/08/11/1544045.html
本文探讨了在SQL操作中如何正确设置NOCOUNT选项来获取受影响的行数。默认情况下,NOCOUNT处于关闭状态,允许获取受影响行数。但在某些环境下,如Visual Studio中的存储过程,默认开启NOCOUNT,这会导致无法获取正确的受影响行数。

2341

被折叠的 条评论
为什么被折叠?



