我在学习ADO.Net。 我读这条线: -ADO.NET中的断开连接方法的确切含义
DataReader的“连接”的方法和数据集是“断开” 方法
从这句话中,我得出了这样的结论,在数据读取器,我们需要建立在数据集中连接到数据库时,我们不需要建立与数据库的连接。
但是,如果没有建立连接可以访问数据。我知道我没有得到确切的含义。
请任何人都可以通过例子告诉我确切的意思。
我在学习ADO.Net。 我读这条线: -ADO.NET中的断开连接方法的确切含义
DataReader的“连接”的方法和数据集是“断开” 方法
从这句话中,我得出了这样的结论,在数据读取器,我们需要建立在数据集中连接到数据库时,我们不需要建立与数据库的连接。
但是,如果没有建立连接可以访问数据。我知道我没有得到确切的含义。
请任何人都可以通过例子告诉我确切的意思。
感谢bro.can你请给我一些真实的例子来澄清我 – Suri 2013-03-22 07:01:37
@Suri:发布了一个链接,让我知道如果它明确你的疑问 – TalentTuner 2013-03-22 07:06:11
@Sourabh我已经通过链接。我有一些关于OLEDB和ODBC的混淆。是这些吗?我没有从链接中获得它,也没有给出图形表示。 – Suri 2013-03-22 11:35:46
链接认为数据集作为内存数据库,它包含数据表以及包含表中的数据(全部或基于选择查询数据的子集),甚至维护表之间的关系。在DataSet上可以执行更新/删除操作,它将通过DataAdapter对象同步到数据库。所以要显示的数据不需要连接到数据库所有的时间作为DataReader,它需要连接到数据库,只要你想显示数据。
在传统的ADO中,RecordSet
对象可以在连接模式和断开模式下工作。在Ado.Net有可用的,以满足每个这些情况的两个独立的类型 - IDataReader
和DataSet
连接模式:保持连接到下面的数据源,而在结果集仅向前流遍历。
断开模式:检索到的结果集保存在内存中,并且不再需要连接到数据库进行遍历。
这MSDN article进一步比较这两个对象,并讨论他们各自的优点比我能在这里解释好很多。
记录集?这是.NET。 Recordset是一个典型的ADODB概念:P – 2013-03-22 07:07:51
我并不是指实际类型......也许我应该改写这个 – NoviceProgrammer 2013-03-22 07:10:32
是的,也许DataSet? ;) – 2013-03-22 07:11:23
ADO.net体系结构中,连接必须保持打开状态才能检索和访问数据库中的数据,称为连接体系结构。连架构是建立在这些类型 - connection
,command
,datareader
的ADO.net架构,在这方面会一直保留,直到只从数据库中检索到的数据,后来当连接到数据库甚至可以访问关闭被称为断开连接的架构。 ADO.net的断开连接体系结构建立在这些类型上 - connection
,dataadapter
,commandbuilder
和dataset
和dataview
。
连接架构:在连接模型中,我们可以将任何应用程序连接到数据库并保持连接到数据库系统,即使它没有使用任何数据库操作。对于这种架构,我们使用Connection
,Command
和DataReader
。
断开连接的体系结构:在断开连接的模型中,我们将任何应用程序连接到数据库,直到我们调用close方法。在这个架构中,我们使用DataSet
和DataAdapter
。
连接体系结构:对于每个请求,命中数据库,获取数据并带回。您只能执行读取操作。连接应始终打开。使用数据读取器
断开连接架构:立即获取整个数据,现在执行任何您想要执行的操作。 Isert/Update/Delete。没有必要的连接总是OPEN.Uses数据集,数据适配器
看看http://stackoverflow.com/questions/1083193/whats-better-dataset-or-datareader和http:// sadi02。 wordpress.com/2008/06/30/adonet-datareaderconnected-and-datasetdisconnected-in-c-net-with-examples/ – 2013-03-22 06:59:38
DataSet是一种过时的方法。看看实体框架和/或其他OR/M像NHibernate。 – 2013-03-22 07:00:37