日期:2014-05-19  浏览次数:20563 次

是不是select语句不能用ExecuteNonQuery()执行哦?
是不是select语句不能用ExecuteNonQuery()执行哦?
看来是走弯路了阿。
我本想用ExecuteNonQuery()来返回select语句所影响的行的。
请问有什么更好用一些。我想在用的是ExecuteScalar()。不知道好不好。
如果我想知道找出的行数呢??
谢谢!

------解决方案--------------------
select只是取出来 受影响行数为0
------解决方案--------------------
不是 说错了-_-#
------解决方案--------------------
是的,该方法发挥的是受影响的行数
------解决方案--------------------
select count(*) from 表

int 影响的行数 = int.Parse(cmd.ExecuteScalar().ToString();
------解决方案--------------------
我记得有些特殊的语句用ExecuteNonQuery会返回0或者-1
------解决方案--------------------
我本想用ExecuteNonQuery()来返回select语句所影响的行的。

--------------------
ExecuteNonQuery()就是返回影响的行数的
------解决方案--------------------
select count(*) from ... 使用ExecuteScalar()返回行数
------解决方案--------------------
ExecuteNonQuery
这个是无记录集返回的执行

显然你的SELECT语句需要返回记录集,所以,你的思路是完全的错误.

你可以用DATAREADER来执行,并返回记录集合.

------解决方案--------------------
select count(*) from tb
------解决方案--------------------
yes
------解决方案--------------------
看来我没记错^o^
只是不记得用select会返回0还是-1了
------解决方案--------------------

------解决方案--------------------
ExecuteNonQuery是执行行为查询操作的.
------解决方案--------------------
ExecuteNonQuery 执行 insert update delete

NonQuery 的意思 就是 不查询!!
------解决方案--------------------
用ExecuteNonQuery()来返回select语句所影响的行的
------解决方案--------------------
如果用ExecuteScalar(),你的sql还要count(),如果你要进行update或insert操作的话就要两步