ADO.NET中断开连接方法的确切含义是什么

时间:2013-03-22 06:55:07

标签: c# asp.net ado.net

我正在学习ADO.Net。 我读了这一行: -

  

DataReader是“连接”方法,数据集是“断开连接”   方法

从这句话我得出这样的结论:在数据阅读器中我们需要建立与数据库的连接,而在数据集中我们不需要建立与数据库的连接。

但是如果没有建立连接就可以访问数据。我知道我没有得到确切的含义。

请任何人通过示例告诉我确切的含义。

6 个答案:

答案 0 :(得分:10)

断开连接=建立连接,获取数据,关闭连接

已连接=建立连接,保持连接活动,关闭时关闭连接。

有关详细信息,请参阅MSDN

上的链接

答案 1 :(得分:3)

ADO.net体系结构必须保持打开状态,直到最后检索和访问数据库中的数据才称为连接体系结构。连接体系结构基于这些类型 - connectioncommanddatareader

ADO.net体系结构,其连接将保持打开状态,直到从数据库检索数据,以及稍后即使关闭数据库连接也可以访问该体系结构称为断开连接的体系结构。 ADO.net的断开连接体系结构基于这些类型 - connectiondataadaptercommandbuilderdataset以及dataview

答案 2 :(得分:1)

将DataSet视为内存数据库,它包含DataTables并包含表数据(基于Select查询的全部或数据子集),甚至维护表之间的关系。在DataSet上,您可以执行更新/删除操作,它将通过DataAdapter对象同步到数据库。所以要显示数据,它不需要连接到数据库所有时间都作为DataReader,每当你想显示数据时需要连接到数据库。

答案 3 :(得分:0)

在经典ADO中,RecordSet对象可以在连接和断开模式下工作。在Ado.Net中,有两种不同的类型可用于满足每种情况 - IDataReaderDataSet

连接模式:在仅向前的结果集流中遍历时保持连接到基础数据源。

断开模式:检索到的结果集保存在内存中,遍历不再需要与DB的连接。

MSDN article进一步比较了这两个对象,并讨论了它们各自的优点,比我在这里解释的要好得多。

答案 4 :(得分:0)

连接架构:对于每个请求,点击数据库,获取数据并返回。您只能执行读操作。连接应始终打开。使用数据读取器

Dis Connected Architecture :立即获取整个数据,然后执行您要执行的任何操作。插入/更新/删除。无需始终打开连接。使用数据集,数据适配器

答案 5 :(得分:-2)

连接架构:在连接模型中,我们可以将任何应用程序连接到数据库,并保持连接到数据库系统,即使它没有使用任何数据库操作。对于此架构,我们使用ConnectionCommandDataReader

断开连接的架构:在断开连接的模型中,我们将任何应用程序连接到数据库,直到我们调用close方法。在此架构中,我们使用DataSetDataAdapter