ADO.NET连接

时间:2014-06-13 14:11:14

标签: .net ado.net connection

有人可以解释一下ADO.NET中面向连接的访问​​和无连接访问之间的一些主要区别吗?它们的用途是什么?谢谢

5 个答案:

答案 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. 当数据集获取其缓冲区时;
  2. 更新数据库时,所有时间都处于“已断开连接”状态。

答案 1 :(得分:1)

面向连接意味着:存在连接会丢弃您的流程。 示例:在Ado.Net中使用DataReader,您可以获取数据作为面向连接的数据库连接类型。 连接少意味着:您的连接不可用会丢弃整个过程。 示例:在Ado.Net中使用DataAdapter,您可以将数据作为连接而不是数据库连接类型获取。

答案 2 :(得分:0)

在客户端 - 服务器模型中,每个客户端在启动时创建自己的数据库连接(con.open),并在程序关闭时释放(con.close)它。虽然连接只使用了一小部分时间,但客户端会将其保持打开状态。 数据读取器用于此过程。 数据仅在连接数据访问中读取 示例 - 电话呼叫 - 我们连接呼叫并断开呼叫 注 - 服务器必须为每个客户端保持单独的实时连接。

对于断开连接的数据访问(无连接)数据适配器在内部管理连接,一旦提取数据自动关闭,就从数据库中获取数据。所以我们不会单独(手动)写任何con.open或con.close步骤。 数据适配器用于此过程。 示例 - 电子邮件 可以操纵数据,例如插入,更新。

答案 3 :(得分:0)

<强>面向连接的 只要使用ConnectionObject.Open()打开连接,连接将始终打开,直到您使用Close()手动关闭。 主要使用的组件是:

  1. 连接
  2. 命令
  3. 的DataReader
  4. <强>连接少 数据适配器用于打开和关闭连接。它确保数据是否到达数据集并且连接将自动关闭。您的所有DML操作都发生在数据集中。如果您自动执行任何DML操作,Data Adapter将打开连接并将数据更新到数据库中,并在以后关闭连接。 主要使用的组件是:

    1. 连接
    2. 数据适配器
    3. 数据集

答案 4 :(得分:0)

ADO.NET是.NET Framework中提供的数据库操作框架。有两组对象

1)面向连接 - 那些使得数据库连接像适配器,连接等的对象

2)无连接 - 存储数据离线的对象,如Datatable,数据列等。它们非常强大,不仅可以存储数据,还可以创建关系,查询办公室等等。

当U进行正常的DB操作时,我们使用连接对象并使用无连接对象来存储结果集。

我建议您阅读文档以获取更多详细信息。