Datareader,DataAdapter,Dataset,DataView之间的区别

Sun*_*Pal 19 asp.net

有人可以解释DataReader,DataAdapter,数据集和DataView之间的区别吗?

har*_*rpo 34

很快,

  • DataReader是一组结果的仅向前迭代器.当您不需要随机访问时(换句话说,您不能倒退),这通常是处理记录的最有效方式.它可以"扩展"到任意数量的记录,至少在内存压力方面,因为它一次只加载一条记录.获取DataReader的一种典型方法是使用ExecuteReaderDbCommand 的方法.

  • DataSet表示一组DataTable对象.通常情况下,它只包含一个表,但如果使用多个SELECT语句执行查询,则DataSet将包含每个表的表.因为这是内存中的表示,所以您必须小心将数据引入DataSet.您可以使用FillDataAdapter 的方法"填充"DataSet .

  • DataAdapter是一种"数据管道",它将数据从数据库引擎汇集到数据集中.这就是为什么每个数据库提供程序类型都有一个DataAdapter实现的原因.一个DataSet,许多提供者.

  • DataView就像是DataTable的虚拟子集.


小智 5

DataReader的

DataReader的用于读取从数据库中的数据,这是一个读取并从数据库中获取数据期间仅转发面向连接的架构.DataReader用于迭代来自服务器的结果集,它将一次读取一条记录,因为与数据集相比,内存消耗将更少,并且它将非常快速地获取数据.通常我们将使用ExecuteReader对象将数据绑定到datareader.

数据集

DataSet是一种断开连接的东方体系结构,这意味着在使用数据集期间不需要活动连接,它是DataTables和表之间关系的集合.它用于保存包含数据的多个表.您可以选择数据表单表,基于表创建视图并在关系上询问子行.DataSet还为您提供了丰富的功能,例如将数据保存为XML和加载XML数据.

DataAdapter的

DataAdapter将充当DataSet和数据库之间的桥梁.此dataadapter对象用于从数据库读取数据并将该数据绑定到数据集.Dataadapter是一种面向断开连接的架构.