最近忙个项目,在查询某个表中是否有数据的时候,我用了ExecuteNonQuery(),并通过判断值是否大于0来判断数据的存在与否。结果与我所设想的很不一致,调试时才发现,其执行后返回的结果是-1,对此我很是不理解,回头查了下资料,如下显示:
SqlCommand.ExecuteNonQuery
方法对连接执行 Transact-SQL 语句并返回受影响的行数。

备注:可以使用
ExecuteNonQuery 来执行目录操作(例如查询数据库的结构或创建诸如表等的数据库对象),或通过执行 UPDATE、INSERT 或 DELETE
语句,在不使用 DataSet 的情况下更改数据库中的数据。

虽然
ExecuteNonQuery 不返回任何行,但映射到参数的任何输出参数或返回值都会用数据进行填充。

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

     
看完后才明白,原来select语句不适合ExecuteNonQuery()方法,原来是这样,真笨,方法用错了!特意把它记录下来,希望朋友不要犯类似的错误!

相关文章:

  • 2021-08-17
  • 2021-09-23
  • 2022-12-23
  • 2021-09-06
  • 2022-12-23
  • 2022-12-23
  • 2021-06-07
猜你喜欢
  • 2021-12-20
  • 2022-02-05
  • 2021-10-15
  • 2022-12-23
  • 2021-11-13
  • 2022-02-13
相关资源
相似解决方案