1

我有这个代码

    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?

4

2 回答 2

0

是的,using 语句将调用 SqlConnection 上的 Dispose。请参阅使用语句

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

于 2012-08-24T04:55:19.787 回答
0

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

来源:看这个

于 2012-08-24T04:56:52.443 回答