SQL ExecuteNonQuery()的返回值

简介: 在查询表数据的时候,即select * from 表名执行此SQL时,我用了ExecuteNonQuery(),并通过判断值是否大于0来判断数据的存在与否,其执行后返回的结果是-1。查找资料发现SqlCommand.ExecuteNonQuery 方法对连接执行 Transact-SQL 语句并返回受影响的行数。

 在查询表数据的时候,即select * from 表名执行此SQL时,我用了ExecuteNonQuery(),并通过判断值是否大于0来判断数据的存在与否,其执行后返回的结果是-1。查找资料发现SqlCommand.ExecuteNonQuery 方法对连接执行 Transact-SQL 语句并返回受影响的行数。
备注:可以使用 ExecuteNonQuery 来执行目录操作(例如查询数据库的结构或创建诸如表等的数据库对象),或通过执行 UPDATE、INSERT 或 DELETE 语句,在不使用 DataSet 的情况下更改数据库中的数据。
虽然 ExecuteNonQuery 不返回任何行,但映射到参数的任何输出参数或返回值都会用数据进行填充。对于 UPDATE、INSERT 和 DELETE 语句,返回值为该命令所影响的行数。对于所有其他类型的语句,返回值为 -1。如果发生回滚,返回值也为 -1。
原来select语句不适合ExecuteNonQuery()方法,希望大家不要犯这样类似的错误。 

目录
相关文章
|
存储 SQL
vc++中,用ado执行sql server存储过程,并且取得返回值的例子
vc++中,用ado执行sql server存储过程,并且取得返回值的例子
|
SQL
SQL SERVER CHAR ( integer_expression )各版本返回值差异的案例
原文:SQL SERVER CHAR ( integer_expression )各版本返回值差异的案例   我们都知道CHAR(integer_expression)将ASCII代码转换为字符。当integer_expression介于 0 和 255 之间的整数。
879 0
|
SQL Java 数据安全/隐私保护
ResultSet rs = stmt.executeQuery(sql); 返回值问题判断
  JAVA  ResultSet rs = stmt.executeQuery(sql);  //查询返回的结果集不管是否查到,rs都不是null,那么问题是怎么判断查找不到来执行一个提示“账号或者密码错误”呢?   rs.
4505 0
|
SQL
ssis t-sql返回值
原文:ssis t-sql返回值 sql类似如下,不需要使用return 语句,SQL语句的ConnectionType必须是“ADO.NET” select @proID=fieldValue from table1 where proName=@PJ_Name   参数映射: 方向需要设置成...
774 0
|
SQL 存储
获取动态SQL查询语句返回值(sp_executesql)
原文:获取动态SQL查询语句返回值(sp_executesql) 在写存储过程时经常会遇到需要拼接SQL语句的情况,一般情况下仅仅是为了执行拼接后的语句使用exec(@sql)即可。 而今天的一个存储过程却需要获取动态SQL的查询结果。
1157 0