黑马程序员技术交流社区

标题: 方法的区别及如何使用? [打印本页]

作者: 穆玉明    时间: 2013-6-21 11:16
标题: 方法的区别及如何使用?
本帖最后由 穆玉明 于 2013-6-21 22:30 编辑

ExcuteScalar()方法ExcuteReader()方法ExcuteNonQuery()方法

三种区别是什么?该怎么用
作者: 许大虾    时间: 2013-6-21 11:29
1、ExecuteNonQuery方法。
该方法执行更新操作,即与UPDATE、INSERT、DELETE等语句有关的操作,在这种情况下,返回值是命令影响的行数。对其他语句,如SET或CREATE,则返回-1,如果发生回滚,返回值也是-1。

2、ExcuteReader方法。
它与查询命令一起使用,返回一个数据阅读器对象SqlDataReader类的一个实例。该方法执行更新语句,执行成功后,不会返回任何受影响的数据行。

3、ExecuteScalar方法。
如果只想检索数据库信息中的已个值,而不需要返回表或 数据流形式的数据库信息。例如,只需返回COUNT(*)、SUM(Price)或AVG(Quantity)等聚合函数的结果,该方法适合。如果在一个 常规的查询语句中调用该方法,则只读取第一行第一列的值,而丢弃所有其他值。



作者: Candy小烨    时间: 2013-6-21 11:52
本帖最后由 Candy小烨 于 2013-6-21 11:54 编辑

ExcuteNonQuery()方法一般执行非查询语句 比如插入数据insert  更新数据update 和 删除数据delete 但是它也有返回值 就是影响的数据条数 比如插入了几条 更新了几条 删除了几条数据等等  

ExcuteReader()方法就是查询数据 他返回一个SqlDataReader 这个东西我也不知道叫什么  他把查询到的结果保存在服务器 你可以一条一条的读取 读取完最后一条 他会返回false


ExcuteScalar()方法用的比较少  我也不知道了                                         

作者: 一直在努力    时间: 2013-6-21 16:43
1、ExecuteNonQuery方法。执行更新操作,返回值是命令影响的行数。
2、ExcuteReader方法。只向前,不能往后的。。取数据。
3、ExecuteScalar方法。返回首行首列。
作者: 蔡志涛    时间: 2013-6-21 18:37
ExecuteNonQuery方法没有返回值,函数直接执行SQL语句,一般是插入、替换等命令

ExcuteScalar()方法和ExcuteReader()方法主要用来执行查询操作,一般都有返回值,返回查询结果




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2