判断它的状态:
if(conn.State == ConnectionState.Closed)
     conn.Open();
//======================================
private void MainForm_Closing(object sender,System.ComponentModel.CancelEventArgs e)
{
    // Close connection before we leave
    if(sqlConn.State == ConnectionState.Open)
sqlConn.Close();
}

解决方案 »

  1.   

    有个问题我在opdb这个方法打开了conn,如何在另外一个执行command命令的方法中使用这个conn,也就是如何将这个conn传给另外一个方法?谢谢!
      

  2.   

    设置一个公用class(如xxx),在其中声明一个公用静态SqlConnection变量,然后在其他class中赋值、调用即可。示例代码如下:
    public class xxx
        {   private PubDBSql(){} public static SqlConnection conn; //公用静态SqlConnection变量
    ……
        {private class aaa  //调用class
    {
        if(xxx.conn.State == ConnectionState.Closed)
         xxx.conn.Open();
         //继续使用该SqlConnection
         ……
    }
    有不清楚的地方可以再问。
      

  3.   

    那我如何在方法opdb()
    中使用conn?
    public static void opdb()
    {
        string source="server=....";
        SqlConnection conn=new SqlConnection(source);
        conn.open();
    }
    "SqlConnection conn=new SqlConnection(source)"如何改写?
    万分感谢!!!
      

  4.   

    改写为:
    xxx.conn=new SqlConnection(source);
      

  5.   

    在应用程序启动时定义 public static SqlConnectionconn   conn=new SqlConnection(source)即可,以后用这个变量conn