2 u011475211 u011475211 于 2016.05.09 09:48 提问

ExecuteNonQuery返回值问题

我执行插入操作,为什么返回-1,查看数据库发现插入明明就是执行成功的

2个回答

CommandBaby
CommandBaby   2016.05.09 09:55
已采纳

一般ExecuteNonQuery() 执行插入、删除、更新是返回的具体条数,存储过程之类的时候就是-1。可以捕获异常来知道是否执行成功

u011475211
u011475211 我的就是插入,为什么没有返回影响的行数,而是-1
大约 2 年之前 回复
CSDNXIAOC
CSDNXIAOC   2016.05.09 09:53

我们常常在项目中使用ExecuteNonQuery()返回值来检测SQL语句是否执行成功 通常的用法是
if(返回值>0)
{
//执行成功
}else{
 //执行失败
}
但是需要注意的是 我们在执行存储过程,和执行事务回滚 的时候返回的却是-1
所以在使用的时候需要注意这些细节:善用返回值

SqlCon......
答案就在这里:ExecuteNonQuery()返回值的问题
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
SqlCommand.ExecuteNonQuery()的返回值问题
用法: sqlcommand.ExecuteNonQuery() 执行select之后,总是返回-1的 sqlcommand.ExecuteNonQuery()返回的是受影响的行数,只对update,delete,insert 有效 详解: 如果sqlcommand.ExecuteNonQuery() 执行select    必须有一个SqlDataReader来接收(Sq
注意 ExecuteNonQuery() 返回值 问题
                前些日子作一些数据项目的时候 在ADO.NET 中处理 ExecuteNonQuery()方法时,总是通过判断其返回值是否大于0来判断操作时候成功 。但是实际上并不是这样的,好在处理的数据操作多时 修改, 插入, 删除,否则的话问题就有点打了,都是些基础的知识,但是很重要个人觉得有必要记下来。     ExecuteNonQuery()方法主
关于Mycommand方法ExecuteNonQuery的返回值问题
前些日子作一些数据项目的时候 在ADO.NET 中处理 ExecuteNonQuery()方法时,总是通过判断其返回值是否大于0来判断操作时候成功 。但是实际上并不是这样的,好在处理的数据操作多时 修改, 插入, 删除,否则的话问题就有点打了,都是些基础的知识,但是很重要个人觉得有必要记下来。      ExecuteNonQuery()方法主要用户更新数据,通常它使用Update,Inse
C# sqlserver ExecuteNonQuery()方法详解 返回值为-1
关于ExecuteNonQuery() 方法 以前对这个一直都没在意,基本上都没有用其返回值,查了一下MSDN,如下: SqlCommand.ExecuteNonQuery 方法对连接执行 Transact-SQL 语句并返回受影响的行数。备注:可以使用ExecuteNonQuery 来执行目录操作(例如查询数据库的结构或创建诸如表等的数据库对象),或通过执行 Update、Insert 或
MYSQL与.net中ExecuteNonQuery()返回值问题
使用Navicat for MYSQL,时。webservice中因为安全性问题,全部使用存储过程函数。 ExecuteNonQuery()返回值情况: 存储过程中不使用事务时,返回结果为存储过程中insert、update、delete影响的行数,但如果将这些操作放入start tarsaction 与commit中时,返回结果总是-1. 参考博客http://blog.csdn.
ExecuteNonQuery()返回值注意点
查询某个表中是否有数据的时候,我用了ExecuteNonQuery(),并通过判断值是否大于0来判断数据的存在与否。结果与我所设想的很不一致,调试时才发现,其执行后返回的结果是-1,对此我很是不理解,回头查了下资料,如下显示:SqlCommand.ExecuteNonQuery 方法对连接执行 Transact-SQL 语句并返回受影响的行数。备注:可以使用 ExecuteNonQuery 来执行
[C#]ExecuteNonQuery()返回值注意点
查询某个表中是否有数据的时候,我用了ExecuteNonQuery(),并通过判断值是否大于0来判断数据的存在与否。结果与我所设想的很不一致,调试时才发现,其执行后返回的结果是-1,对此我很是不理解,回头查了下资料,如下显示: SqlCommand.ExecuteNonQuery 方法对连接执行 Transact-SQL 语句并返回受影响的行数。 备注:可以使用 ExecuteNonQuery
vs2012 C# sqlserver ExecuteNonQuery()方法详解 返回值为-1
关于ExecuteNonQuery() 方法 以前对这个一直都没在意,基本上都没有用其返回值,查了一下MSDN,如下: SqlCommand.ExecuteNonQuery 方法对连接执行 Transact-SQL 语句并返回受影响的行数。备注:可以使用ExecuteNonQuery 来执行目录操作(例如查询数据库的结构或创建诸如表等的数据库对象),或通过执行 Update、Insert 或
ExecuteNonQuery()返回-1的问题及解决
最近在写一个程序的时候用到ExecuteNonQuery()执行 select,结果总是返回-1(因为我想通过影响的行数来判断数据库是否已经存在该数据),很是郁闷。 后来查了一下msdn,发现原来是这样的。 虽然 ExecuteNonQuery 不返回任何行,但映射到参数的任何输出参数或返回值都会用数据进行填充。对于 UPDATE、INSERT 和 DELETE 语句,返回值为该命令所影响
SqlCommand的ExecuteNonQuery 方法使用Select命令返回值永远为 -1
今天想用ExecuteNonQuery方法select表中符合的内容实现登录框,然后判断返回行是否大于0,但是一直返回-1,郁闷了很久。 查msdn,上面备注说了: 您可以使用 ExecuteNonQuery 来执行目录操作(例如查询数据库的结构或创建诸如表等的数据库对象),或通过执行 UPDATE、INSERT 或 DELETE 语句,在不使用DataSet 的情况下更改数据库中的数