数据适配器和数据阅读器有什么区别?

11

数据适配器和数据读取器有什么区别?

7个回答

13
请参阅DataReader、DataAdapter和DataSet - 何时使用?

ADO.NET提供了两个核心数据访问组件。优秀的事情是,它们在所有数据库上都是通用的,无论是SQL Server还是其他竞争性数据库。只有在使用SQL Server以外的数据库时,要使用的命名空间不同。


只是展示一个链接吗?这不是一条评论吗? - Mehdi Khademloo

9

DataReader是从DbCommand对象的ExecuteReader方法返回的对象。它是结果集中行的仅向前游标。使用DataReader,您可以访问结果集的每个列、读取所有行,并在存在多个结果集时前进到下一个结果集。

DataAdapter是一个包含四个DbCommand对象的对象:分别用于SELECT、INSERT、DELETE和UPDATE命令。它通过Fill和Update方法在这些命令和DataSet之间进行调解。


5

Data Reader是在连接环境中使用的对象。 Data Adapter是在使用DataSet的断开连接的环境中使用的对象。


4
< p > DataReader 是从数据库中检索记录的一种更快的方法。 DataReader 读取列。 DataReader 要求实时连接,但DataAdapter 需要断开连接的方法。 < / p >

3
以下是关于上述主题的一篇不错的文章:C#中DataReader、DataSet、DataAdapter和DataTable之间的区别

简单概括的关键区别:

与主要设计用于紧密耦合的客户机/服务器系统的经典ADO不同,ADO.NET是针对断开连接世界而构建的,使用DataSets/DataAdapter。

  • DataAdapter遵循无连接导向架构,这意味着您不必与数据源连接,而DataReader是连接导向架构,这意味着它需要一个活动的与数据源的连接才能运行。
  • DataAdapter是一个中间层/中间件,作为DataSet和数据库之间的桥梁,而DataReader提供只向前、只读取访问数据使用服务器端游标(简单地说,它用于读取数据)。
  • 使用DataSet,我们可以在与数据源断开连接的情况下操作和更新DataSet的内容,并使用相关的DataAdapter发送任何修改后的数据进行处理,而DataReader只能从数据库读取数据而不能修改它。
  • DataAdapter对象用于从数据库中读取数据并将该数据填充到DataSet中,而DataReader仅使用Read()方法读取数据。
  • DataAdapter相对较慢,而使用DataReader可以通过检索数据及时可用以及(默认情况下)仅存储一行数据来提高应用程序性能,从而减少系统开销。

2

数据阅读器是一种对象,通过它可以读取顺序数据流。它是一种只能向前的数据流,在其中不能返回以前的数据。 数据集和数据适配器对象帮助我们在断开模式下工作。数据集是表的缓存内存表示。数据通过数据适配器从数据源填充到数据集中。一旦数据集中的表被修改,更改将通过数据适配器广播回数据库。


2

DataAdapter

DataAdapter作为DataSet和数据库之间的桥梁。这个dataadapter对象用于从数据库读取数据并将该数据绑定到dataset。Dataadapter是一种断开型架构。

DataReader

DataReader用于从数据库中读取数据,它是一种只读取且只向前连接的架构,当从数据库获取数据时,DataReader会非常快速地获取数据。通常我们使用ExecuteReader对象将数据绑定到datareader。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接