无法打开DB连接,因为它已经打开

时间:2016-05-24 09:34:08

标签: c# sql-server

我的c#代码:

using (c)
{
    c.Open();
    using (SqlCommand command = new SqlCommand("DELETE FROM [User]  WHERE Username like @username", c))
    {
        command.Parameters.AddWithValue("@username", txtuser.Text);
        command.ExecuteNonQuery();
    }
    c.Close();
}
Response.Redirect("Manger Control.aspx", true);

错误来了:

  

发生了'System.InvalidOperationException'类型的异常   System.Data.dll但未在用户代码中处理

     

其他信息:连接未关闭。该   连接的当前状态是打开的。

2 个答案:

答案 0 :(得分:0)

  
    

连接未关闭。连接的当前状态是打开的。

  

错误信息本身非常清楚。您应该在打开连接时检查当前状态:

if(c.State != ConnectionState.Open)
  c.Open();

答案 1 :(得分:0)

在Form_Load()事件中打开您的连接,如下所示 -

    SqlConnection c = new SqlConnection();
    private void Form1_Load(object sender, EventArgs e)
    {
        if (c.State == ConnectionState.Closed)
        {
            c.Open();
        }            
    }