DatSet和Datareader的区别

本文对比了ADO.NET2.0中DataSet与DataReader两种数据检索方式的特点。DataSet适用于需要排序、分页的应用场景;DataReader则适合仅需向前读取数据且对读取速度要求较高的场合。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  ADO.NET2.0提供了两个用于检索关系数据的对象:DataSet和DataReader。并且这两个对象都可以将检索的关系数据存储在内存中。在软件开发过程中经常用到这两个控件,由于这两个控件在使用和功能方面的相似,很多程序员错误地认为DataSet和DataReader是可以相互替代的。这种想法是错误的,在这我们分析一下DataSet控件和DataReader控件的区别。
1、与数据库连接 DatSet 连接数据库时是非面向连接的。把表全部读到Sql中的缓冲池,并断开于数据库的连接。 Datareader 连接数据库时是面向连接的。读表时,只能向前读取,读完数据后有用户决定是否断开连接。
2、处理数据速度 DataSet读取、处理速度较慢。 DataReader读取、处理速度较快。
3、更新数据库 在对DataSet数据集中的数据进行更新后,可以把数据更新回原来的数据库。 在对DataReader中的数据进行更新后,没有办法进行数据库更新。
4、支持分页排序 在DataSet中支持分页、动态排序等操作。 在DataReader中没有分页、动态排序的功能。
5、占用内存 DataSet在 IIS 服务器上所使用的内存较多。 DataReader在 IIS 服务器上所使用的内存较少。
  综上所述得出DataSet和DataReader有各自适用的场合。如果数据来源控件只是用来填入控件的清单成为其选项,或者数据绑定控件并不需要提供排序或分页功能的话,则应该使用 DataReader。反之,如果数据绑定控件需要提供排序或分页功能的话,则必须使用 DataSet,通过DataSet设置出来分页排序等页面面显示效果。

转载于:https://www.cnblogs.com/jimacheson/archive/2012/07/27/2612073.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值