【问题标题】:Reconnect SqlDataAdapter重新连接 SqlDataAdapter
【发布时间】:2012-08-24 04:49:57
【问题描述】:

我有这个代码

    DataTable dt= new DataTable();
    SqlDataAdapter da;


    private void LoadData()
        {
           using (SqlConnection cnn = new   SqlConnection(ConfigurationManager.ConnectionStrings["cnn"].ConnectionString))
            {


            da = new SqlDataAdapter("Select * from table",cnn);                
            da.Fill(dt);

            }

        }

连接会在之后关闭,对吧? 如果我想更新 DataTable,如何将 da 重新连接到 cnn?

【问题讨论】:

标签: sqldataadapter


【解决方案1】:

是的,using 语句将调用 SqlConnection 上的 Dispose。见using Statement

要以这种方式重新连接,您需要另一个 using 语句来进行更新或在原始 using 语句中进行更新。

【讨论】:

  • 谢谢。我是否应该实例化一个新的 SqlDataAdapter,以便可以将连接放入构造函数中?
  • 您应该可以在 SqlDataAdapter 对象上设置命令并重用它。
【解决方案2】:

Fill 方法使用关联的 SelectCommand 属性指定的 SELECT 语句从数据源中检索行。与 SELECT 语句关联的连接对象必须有效,但不需要打开。如果在调用 Fill 之前关闭连接,则打开它以检索数据,然后关闭。如果在调用 Fill 之前连接已打开,则它保持打开状态。

来源:See this

【讨论】:

    猜你喜欢
    • 2013-12-04
    • 1970-01-01
    • 2021-01-05
    • 2017-03-30
    • 1970-01-01
    • 1970-01-01
    • 2012-03-28
    • 1970-01-01
    • 2010-11-23
    相关资源
    最近更新 更多