Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net Datareader、DataAdapter、Dataset和DataView之间的差异_Asp.net - Fatal编程技术网

Asp.net Datareader、DataAdapter、Dataset和DataView之间的差异

Asp.net Datareader、DataAdapter、Dataset和DataView之间的差异,asp.net,Asp.net,有人能解释一下DataReader、DataAdapter、Dataset和DataView之间的区别吗 DataReader是一组结果上的仅前向迭代器。当您不需要随机访问(换句话说,您不能倒退)时,它通常是处理记录的最有效方法。它可以“扩展”到任意数量的记录,至少在内存压力方面是如此,因为它一次只加载一条记录。获取数据读取器的一种典型方法是使用DbCommand的ExecuteReader方法 数据集表示一组数据表对象。通常,它只包含一个表,但如果使用多个SELECT语句进行查询,则数据集将

有人能解释一下DataReader、DataAdapter、Dataset和DataView之间的区别吗

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

  • 数据集表示一组数据表对象。通常,它只包含一个表,但如果使用多个SELECT语句进行查询,则数据集将包含每个语句的一个表。因为这是内存中的表示,所以必须小心将多少数据拉入数据集中。您可以使用DataAdapter的
    Fill
    方法“填充”数据集

  • DataAdapter是一种“管道”,它将数据从DB引擎导入数据集。这就是为什么每个DB提供程序类型都有一个DataAdapter实现的原因。一个数据集,多个提供者

  • 数据视图类似于数据表的虚拟子集


我建议您阅读MSDN文档,或者买本书。以下是一个简短的回答:

  • 数据集是类似数据库结构的内存表示。它可以有一个或多个数据表,并定义它们之间的关系、键字段等
  • datatable是单个数据库表的内存表示形式。您可以将其视为具有相同方式的列和行
  • dataview是datatable上的视图,有点像sql视图。它允许您对行进行筛选和排序,通常用于绑定到windows窗体控件
数据阅读器 DataReader就像一个只向前的记录集。它一次获取一行,因此与DataSet相比,网络成本非常低(一次获取所有行)。DataReader是只读的,因此我们无法对其执行任何事务。DataReader将是我们需要向用户显示数据的最佳选择,无需任何事务。因为DataReader是向前的,所以我们不能随机获取数据。NET数据提供程序优化datareader以处理大量数据

数据集 DataSet是数据库对象集合的内存表示,包括关系数据库模式的表。
与DataReader相比,DataSet总是一个庞大的对象,需要大量的内存空间。我们可以说数据集是一个小型数据库,因为它将模式和数据存储在应用程序内存区域中。DataSet一次将数据源中的所有数据提取到其内存区域。因此,我们可以遍历对象以获得所需的数据,如查询数据库。

DataReader

DataReader用于从数据库中读取数据,在从数据库中获取数据时,它是一种面向只读和前向连接的体系结构。DataReader用于迭代来自服务器的resultset,它将一次读取一条记录,因为内存消耗将更少,与dataset相比,它将非常快地获取数据。通常,我们将使用ExecuteReader对象将数据绑定到datareader

数据集

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

数据适配器

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