黑马程序员技术交流社区

标题: dataReader和DataSet有什么不同啊? [打印本页]

作者: 职业规划-蔡红微老师    时间: 2012-4-10 18:39
标题: dataReader和DataSet有什么不同啊?
dataReader和DataSet有什么不同啊?
作者: 赵潮江    时间: 2012-4-10 19:12
我说的通俗一点就是datareader是用于从数据库中检索数据,而dataset是用于存放数据,

作者: 周健    时间: 2012-4-12 10:01
一个是只能向前的只读游标,一个是内存中的表。
作者: 周健    时间: 2012-4-12 10:03
DataSet可以离线处理,前后滚动.DataReader不能离线处理,且是只读的向前的,不过速度明显会很快 DataSet可以存储数据库各种对象的,比如表触发器等,而DataReader只能存储游标记录
DataSet可以更新回原来的数据库,DataReader不行;   
DataSet可以FORWORD     PREVIUS,而DataReader只能FW;   
DataReader类似一个只能向前的游标记录集   
DataSet叫数据集!是ADO.net相对与ADO实现断开式数据库连接性的主要体现!DateReader是一个客户端的只向前游标,两者的应用领域不同!读取数据后!如果要进行比较频繁的改动,可以使用DataSet,并且DataSet也支持串行化,可与xslt结合!进行web开发!   
DataReader则偏向于快速读取数据!针对数据量比较大的数据可能应用的更加频繁点!
ADO.NET提供以下两个对象,用于检索关系数据并将其存储在内存中:DataSet和DataReader。DataSet提供一个内存中数据的关系表示形式,一整套包括一些表在内的数据(这些表包含数据、对数据进行排序并约束数据),以及表之间的关系。DataReader提供一个来自数据库的快速、仅向前、只读数据流。当使用DataSet时,经常会利用DataAdapter(也可能是CommandBuilder)与数据源进行交互。当使用DataSet时,也可以利用DataView对DataSet中的数据应用排序和筛选。也可以从DataSet继承,创建强类型DataSet,用于将表、行和列作为强类型对象属性公开。





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