【问题标题】:what is the difference between data adapter and data reader?数据适配器和数据读取器有什么区别?
【发布时间】:2009-07-16 18:13:50
【问题描述】:

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

【问题讨论】:

    标签: c# .net ado.net


    【解决方案1】:

    请看DataReader, DataAdapter & DataSet - When to use? :

    ADO.NET 提供了两个中心数据 访问组件。优秀的东西 就是,它们在所有人中都很常见 数据库,无论是 SQL Server 还是其他 竞争数据库。它唯一的 要使用的命名空间,不同, 使用 SQL 以外的数据库时 服务器。

    【讨论】:

    • 只是提供一个链接?不是评论吗?
    【解决方案2】:

    DataReader 是从 DbCommand 对象的 ExecuteReader 方法返回的对象。它是每个结果集中行上的只进游标。使用 DataReader,您可以访问结果集的每一列,读取该集的所有行,如果有多个结果集,则前进到下一个结果集。

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

    【讨论】:

      【解决方案3】:

      Data Reader 是一个在连接环境中使用的对象。 Data Adapter 是一个使用 Dataset 的 Disconnected 环境中使用的对象。

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          【解决方案5】:

          数据阅读器是一个对象,您可以通过它读取连续的数据流。这是一个仅向前的数据,您无法返回读取以前的数据。 数据集和数据适配器对象帮助我们在断开模式下工作。数据集是表的缓存内存表示。数据通过数据适配器从数据源填充到数据集。一旦数据集中的表被修改,这些变化就会被广播到数据库;数据适配器。

          【讨论】:

            【解决方案6】:

            这是一篇关于上述主题的好文章: Difference Between DataReader, DataSet, DataAdapter and DataTable in C#

            简单来说主要区别:

            Unlike classic ADO, which was primarily designed for tightly coupled client/server systems,ADO.NET was built with the disconnected world in mind, using DataSets/DataAdapter.

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

            【讨论】:

              【解决方案7】:

              数据适配器

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

              数据读取器

              DataReader 用于从数据库中读取数据,在从数据库中获取数据时,它是一个只读和转发的面向连接的架构。与数据集相比,DataReader 将非常快速地获取数据。一般我们会使用ExecuteReader对象将数据绑定到datareader

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2011-09-23
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2021-10-24
                相关资源
                最近更新 更多