首页 新闻 搜索 专区 学院

cmd.ExecuteNonQuery()

0
[已解决问题] 解决于 2012-03-11 20:58

cmd.ExecuteNonQuery()不是返回受影响的行数吗?我的sql语句是"select * from tbUserInfo where userName='wang'",断点跟踪确实查找到一条数据(sqlserver中显示受影响行数为1),为甚么cmd.ExecuteNonQuery()却是-1呢?不是应该是1吗?

巴维尔的主页 巴维尔 | 初学一级 | 园豆:61
提问于:2012-03-10 21:12
< >
分享
最佳答案
1
小小刀 | 小虾三级 |园豆:1991 | 2012-03-10 22:03

对于 UPDATE、INSERT 和 DELETE 语句,返回值为该命令所影响的行数。对于所有其他类型的语句,返回值为 -1。如果发生回滚,返回值也为 -1。

小小刀 | 园豆:1991 (小虾三级) | 2012-03-10 22:04
其他回答(3)
0

cmd.ExecuteNonQuery()对象是对insert,update,delete语句返回受影响的行数,如:delete from tablename

cmd.cmd.ExecuteScalar()对象是对select语句返回统计结果数,如:select count(*) from tablename

cmd.ExecuteReader()对象是对select语句返回单条数据信息,如:select * from tablename where id='1'

同样也可以通过实例化SqlDataAdapter,返回dataset/datatable ,如:select * form tablename

关于helper类库有很多,你可以在网上查查。

总之,不同的对象对应不同的执行SQL语句。。。

KivenRo | 园豆:1722 (小虾三级) | 2012-03-11 07:29
0

select-->-1

轩~雨~阁 | 园豆:145 (初学一级) | 2012-03-11 10:01
0

vb.net中怎么判断用户已经注册过了~~

我是这么想的,用

Dim cmd0 As New SqlCommand("select count(*) from [UserTable] where username='" + TextBox1.Text + "'", con)

得到返回值,判断影响的行数,如果大于0就存在

可是现在不知道怎么得到返回值进行判断

希望各位大神帮忙!

xymaqingxiang | 园豆:149 (初学一级) | 2013-07-29 11:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册