有人可以解释一下ADO.NET中面向连接的访问和无连接访问之间的一些主要区别吗?它们的用途是什么?谢谢
答案 0 :(得分:1)
面向连接的模型使用特定于平台的“数据提供者”,例如OLEDB(命名空间:System.Data.Oledb
),Microsoft SQL Server(命名空间:System.Data.SqlClient
),ODBC(命名空间:System.Data.Odbc
)等等。
当您使用这些数据提供程序时,您的应用程序程序集和数据库使用这些数据提供程序紧密耦合(这意味着每次都连接)。
在断开连接的模型中,我们使用DataSet,DataAdapter等。在这里,您可以将数据集理解为缓冲区,将DataAdaptor理解为连接数据库和此数据集的桥梁。
创建DataAdapter(ad)
和DataSet(ds)
的对象并编写ad.Fill(ds)
后,此数据集将从数据库获取其缓冲区(所有表等),现在与数据库的连接会自动中断。所有未来的查询都会在此缓冲区(数据集)上执行,然后自动执行,之后会更新您的数据库。总之,您的数据库只使用了两次:
答案 1 :(得分:1)
面向连接意味着:存在连接会丢弃您的流程。 示例:在Ado.Net中使用DataReader,您可以获取数据作为面向连接的数据库连接类型。 连接少意味着:您的连接不可用会丢弃整个过程。 示例:在Ado.Net中使用DataAdapter,您可以将数据作为连接而不是数据库连接类型获取。
答案 2 :(得分:0)
在客户端 - 服务器模型中,每个客户端在启动时创建自己的数据库连接(con.open),并在程序关闭时释放(con.close)它。虽然连接只使用了一小部分时间,但客户端会将其保持打开状态。 数据读取器用于此过程。 数据仅在连接数据访问中读取 示例 - 电话呼叫 - 我们连接呼叫并断开呼叫 注 - 服务器必须为每个客户端保持单独的实时连接。
对于断开连接的数据访问(无连接)数据适配器在内部管理连接,一旦提取数据自动关闭,就从数据库中获取数据。所以我们不会单独(手动)写任何con.open或con.close步骤。 数据适配器用于此过程。 示例 - 电子邮件 可以操纵数据,例如插入,更新。
答案 3 :(得分:0)
<强>面向连接的强> 只要使用ConnectionObject.Open()打开连接,连接将始终打开,直到您使用Close()手动关闭。 主要使用的组件是:
<强>连接少强> 数据适配器用于打开和关闭连接。它确保数据是否到达数据集并且连接将自动关闭。您的所有DML操作都发生在数据集中。如果您自动执行任何DML操作,Data Adapter将打开连接并将数据更新到数据库中,并在以后关闭连接。 主要使用的组件是:
答案 4 :(得分:0)
ADO.NET是.NET Framework中提供的数据库操作框架。有两组对象
1)面向连接 - 那些使得数据库连接像适配器,连接等的对象
2)无连接 - 存储数据离线的对象,如Datatable,数据列等。它们非常强大,不仅可以存储数据,还可以创建关系,查询办公室等等。
当U进行正常的DB操作时,我们使用连接对象并使用无连接对象来存储结果集。
我建议您阅读文档以获取更多详细信息。