日期:2014-05-17  浏览次数:21045 次

大家网站前台页面数据用DataSet还是DataReader?
想了解下:大家做网站的时候前台页面读取数据用DataSet还是DataReader?显然是各有优缺点,但从大站多访客的角度去考虑,大家知道的都是用那个控件?比如京东商城的页面等

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

------解决方案--------------------
我一般用dataset,比较大众化吧
------解决方案--------------------
我也用的dataset,不过在调用的时候用Eval调用
------解决方案--------------------
都用,看情况,比如,需要如果判断一个用户存在不,就用DataReader,如果用DateSet明显是浪费资源了
------解决方案--------------------
其实知道了DataSet和DataReader的区别就和容易决定了,DataReader在读数据的时候是需要保持和数据库的连接的,断开数据库连接就无法获取数据。

所以一般都是用DataSet,因为DataSet是可以离线的。离线状态操作数据效率高一些。