dataset 和 datareader对象有啥区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dataset 和 datareader对象有啥区别相关的知识,希望对你有一定的参考价值。

参考技术A .DataReader
不能离线处理,且是只读的向前的,不过速度明显会很快DataSet可以存储数据库各种对象的,比如表触发器等,而DataReader只能存储游标记录DataSet可以更新回原来的数据库,
DataReader不行;DataSet可以FORWORDPREVIUS
,而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
,用于将表、行和列作为强类型对象属性公开。

ado.net的五大对象

ado.net的五大对象

ASP.net: ADO的五大对象:
Connection 连接对象
Command 命令对象,指示要执行的命令和存储过程!
DataReader是一个向前的只读的数据流。
DataAdapter是功能强大的适配合器,支持增删改查的功能
DataSet是一个数据级对象,相当于内存中的一张表或多张表!(asp中是recordset)
参考技术A 分别为4个提供者对象:
Connection
DataReader
Command
DataAdapter
和1个用户对象
DataSet
这些文字上的东西记熟了也没多大意义。
关键是要多多使用他们!

呵呵,希望楼主解决了问题。本回答被提问者采纳
参考技术B Command对象主要提供与数据库的连接功能

Connection对象用于返回数据,修改数据,运行存储过程以及发送或检索参数信息的数据库命令

DataReader对象通过Command对象提供从数据库检索信息的功能,它以一种只读的,向前的,快速的方式访问数据库

DataAdapter对象提供连接DataSet对象和数据源的桥梁,它主要使用Command对象在数据源中执行SQL命令,以便将数据加载到DataSet中,并确保DataSet数据集中数据的更改与数据源保持一致

DataSet对象是一个数据库容器,可以把它当作是存在于内存中的数据库,无论数据源是什么,它都会提供一致的关系编程模型

以上是关于dataset 和 datareader对象有啥区别的主要内容,如果未能解决你的问题,请参考以下文章

DATASET 和 DATAREADER区别

DataRead和DataSet的异同

DataRead 和DataSet区别

C#中IDataReader和DataSet的区别是啥呢?

使用DataReaderDataSetDataAdapter和DataView

DataSet和DataReader问题