C#中ExecuteReader、ExecuteNonQuery、ExecuteScalar、SqlDataReader、SqlDataAdapter的区别

ExecuteNonQuery()执行命令对象的SQL语句,返回一个int 类型的变量,返回数据库操作之后影响的行数。适合用来验证对数据库进行增删改的情况。

 

2、ExecuteScalar()也可以执行sql语句。如果SQL语句是Select查询,则仅仅返回查询结果集中第一行第一列,而忽略其他行和列。如果SQL语句不是Select查询,则这个返回结果没任何作用。(建议查询数据库时使用)  由于不知道sql语句到底是什么样的结构(有可能是int,有可能是Char等其它,)所以ExecuteScalar()方法返回一个最基本的类型Object,这个类型是所有类型的基类,可以转换为任意类型,所以所以用前需强制转换。一般用在插入语句后加上一个 select @@identity; 返回插入ID

 

3.ExecuteReader方法存在的目的:尽可能快的对数据库进行查询并得到结果;ExecuteReader 返回一个DataReader对象,如果在SqlCommand对象中调用,则返回SqlDataReader,如果在OledbCommand对象中调用,返回的是OledbDataReader,可以调用DataReader的方法和属性迭代处理结果集。

 

4.qlDataReader与SqlDataAdapter+DataSet的区别

一,SqlDataReader //基于连接,只读访问 适合数据量较小。(连接模式)

      SqlDataAdapter //基于非连接,适于数据量较大时,可以另行修改,最后再把修改结果返回给数据库。要求资源也大一点  (断开模式)

二,SqlDataAdapter 读取数据后将数据集放入DataSet ,DataSet 的数据存在本地客服机内存。

三,SqlDataReader返回的是一个数据读写器,只能一条条的读,操作起来不灵活,一般在只读的时候才用到。

      SqlDataAdapter返回的是数据集或者表,可以对其中的数据作任意操作

原博客地址:https://www.cnblogs.com/wangjian920110/p/5456369.html

 

转载于:https://www.cnblogs.com/ljysy/p/10134279.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值