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

本文关键字:是什么 中断 NET 断开 连接 方法 ADO | 更新日期: 2023-09-27 18:05:29

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

DataReader是"已连接"的方法,数据集是"未连接"的方法

从这句话我得出这样的结论,在data reader中我们需要建立到数据库的连接,而在dataset中我们不需要建立到数据库的连接。

但是如何在不建立连接的情况下访问数据。我知道我没有理解你的意思。

请任何人用例子告诉我确切的意思

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

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

已连接=创建连接,保持连接存活,当Close被调用时关闭连接。

有关详细信息,请参阅MSDN

上的链接

在ADO.net体系结构中,连接必须保持打开状态,直到最后才能从数据库中检索和访问数据,这种体系结构称为连接体系结构。互联架构建立在以下类型之上——connection, command, datareader

在ADO.net体系结构中,连接将保持打开状态,直到从数据库中检索到数据,然后即使与数据库的连接关闭也可以访问,这种体系结构称为断开连接体系结构。ADO.net的断开连接架构建立在这些类型上——connectiondataadaptercommandbuilderdatasetdataview

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

在经典ADO中,RecordSet对象可以在已连接和未连接模式下工作。在Ado。Net中有两种不同的类型可用于满足每种场景——IDataReaderDataSet

Connected Mode:在结果集的前向流中遍历时保持与底层数据源的连接。

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

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

连接架构:对于每个请求,点击数据库,获取数据并带回。只能执行"读操作"。连接应该总是打开的。使用数据阅读器

断开连接架构:立即获取整个数据,然后执行您想要执行的任何操作。插入/更新/删除。不需要连接总是处于打开状态。使用数据集,数据适配器

连接架构:在连接模型中,我们可以将任何应用程序连接到数据库,即使它不使用任何数据库操作,也可以保持与数据库系统的连接。对于这个架构,我们使用Connection, CommandDataReader

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