黑马程序员技术交流社区
标题:
DataReader和DataSet什么区别?
[打印本页]
作者:
董伟
时间:
2011-12-17 12:50
标题:
DataReader和DataSet什么区别?
.DataReader和DataSet的异同。求教
作者:
许全通
时间:
2011-12-17 15:35
ADO.NET有两个部分组成:.NET数据提供程序和数据集(DataSet);
.NET数据提供程序有4个核心对象:Connection对象、Command对象、DataReader对象和DataAdapter对象;其中DataReader用来从数据库中获取只读、只进的数据,
而DataSet是一个临时存储数据的地方,位于客户端的内存当中,DataSet是通过DataAdapter对象和数据库打交道的!!
可以说DataSet和DataReader之间的关系不是很大。。。
作者:
张大福
时间:
2011-12-18 10:24
DataSet可以离线处理,前后滚动,而DataReader不能离线处理,且是只读的向前的,不过速度明显会很快
DataSet可以存储数据库各种对象的,比如表触发器等,而DataReader只能存储游标记录
作者:
牛奎
时间:
2011-12-26 10:43
DataReader直接读取数据库数据,
DataSet是内存中的数据库,从数据库中读取数据放到内存中
作者:
刘冠杰
时间:
2011-12-26 23:48
当然有区别了。
一般情况下,DateSet是和DateAppter搭配着使用的,DateSet相当于一块虚拟的内存,而DateAppter正好可以从数据库中把查找到的数据以表的形式传递给DateSet,这样,DateSet就可以将自己被存进来的数据进行操作,譬如绑定到Gridview上面,称为数据源;
而DateReader则不同,它并不可以理解为一块虚拟的内存,它只能从数据库中读取,但是是直进直出型的,不可能在其中存储数据的,只能通过读取然后再把数据一次性的传给其他需要数据的控件等。
作者:
傅涌钦
时间:
2011-12-28 18:05
DataReader基于连接,它返回的数据是只读只向前的,适合简单地浏览且耗时比较短的操作
DataSet就像内存数据库,已经将数据保存在本地内存中,同时需要SqlDataAdapter作于DataSet和数据库之间,负责将数据从数据源读出来放在DataSet中,或将DataSet中的更改更新回数据库。
最直接的例子就是”阅读器关闭时尝试调用 Read 无效“,通过这个例子很好的解释两者的区别!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2