• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

ExecuteNonQuery方法执行select返回值始终为0

c# 海叔叔 4周前 (05-30) 5次浏览 已收录 0个评论

关键词
ExecuteNonQuery 返回值

摘要

本文介绍C#进行数据库编程时,使用OleDbCommand.ExecuteNonQuery执行select语句时始终返回值为0。

这两天海叔叔在写一个数据库的小程序,想使用OleDbCommand.ExecuteNonQuery来执行一个SQL语句,通过这个SQL语句查出来的行数来进行相应的逻辑判断(如是否登录成功)。尴尬的是,洪哥通过OleDbCommand.ExecuteNonQuery得到的返回值一直是0,不管SQL语句是否能查到记录。

代码如下:

后来上网了解一下了,原来OleDbCommand.ExecuteNonQuery返回值是对数据库的影响行数,而Select语句只是从数据库中取出记录,并没有“影响”数据库,所以返回值为0.

于是,海叔叔改使用OleDbCommand.ExecuteScalar函数,代码如下:

相应的SQL语句也由“select * from [表名] <条件>” 改成了 “select count(1) from [表名] <条件>”,这样就没有问题。得到的返回值就是正常的匹配到的条数了。

海叔叔写这篇文章,希望大家遇到相同的问题时可以少走弯路。

关于ExecuteNonQuery方法执行select返回值始终为0,本文就介绍这么多,希望对您有所帮助,谢谢!


喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址