博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ExecuteNonQuery()返回受影响行数不适用select语句
阅读量:4608 次
发布时间:2019-06-09

本文共 562 字,大约阅读时间需要 1 分钟。

SqlCommand.ExecuteNonQuery 方法对连接执行 Transact-SQL 语句并返回受影响的行数。

对于 UPDATE、INSERT 和 DELETE 语句,返回值为该命令所影响的行数。对于所有其他类型的语句,返回值为 -1。如果发生回滚,返回值也为 -1
所以在查询表中是否有(某条)数据的时候,一定不能用select sql语句+ cmd.ExecuteNonQuery(),通过判断返回值是否大于0来判断。
解决方案:
1.

SqlCeCommand.ExecuteScalar 方法 ( + 聚合查询)

 

执行查询,并返回查询所返回的结果集中第一行的第一列。忽略额外的列或行。 例如一个聚合值。

cmd.CommandText = "select count(*) from users where id = 10000;"  例如一个聚合值。

int count = (int)cmd.ExecuteScalar() ;

2. 用ExcuteReader()方法返回一个reader

if(reader.Read() == false) { ...}

转载于:https://www.cnblogs.com/lykbk/archive/2012/08/14/234223edfsdfds.html

你可能感兴趣的文章
局域网内访问机器时出现“未授予在次计算机上的请求登陆类型”
查看>>
Bogart BogartAutoCode.vb
查看>>
hdu - 2266 How Many Equations Can You Find (简单dfs)
查看>>
UIView属性
查看>>
将博客搬至CSDN
查看>>
远程服务器git搭建
查看>>
牛人们的博客地址
查看>>
Zabbix是什么?
查看>>
源码:COCO微博
查看>>
面向对象预习随笔
查看>>
大数据概念炒作周期模型
查看>>
排序模型
查看>>
Dede推荐文章与热点文章不显示?
查看>>
React 3
查看>>
Topshelf 使用
查看>>
Linux --Apache服务搭建
查看>>
20145325张梓靖 实验三 "敏捷开发与XP实践"
查看>>
JavaScript面试题
查看>>
[转帖]架构师眼中的高并发架构
查看>>
ios的一些开源资源
查看>>