连接字符串 = 当我使用连接方法超过 1 次时为空

本文关键字:连接 方法 字符串 | 更新日期: 2023-09-27 18:36:37

我的连接字符串有问题,我有一个带有字符串参数的执行方法来接收查询,

public class Create_Connection
{
 public static readonly string CONN_STRING =
 ConfigurationManager.ConnectionStrings["TaskConnectionString"].ConnectionString;
 public static readonly SqlConnection SqlConn = new SqlConnection(CONN_STRING);
 public static readonly SqlConnection CONN = new SqlConnection(CONN_STRING);
  public DataSet ExecuteSql(string sql)
  {
    SqlDataAdapter da;
    DataSet ds;
    if (CONN.State == ConnectionState.Open)
      CONN.Close();
    CONN.Open();
    da = new SqlDataAdapter(sql, CONN_STRING);
    ds = new DataSet();
    da.Fill(ds);
    CONN.Dispose();
    CONN.Close();
    return ds;
   }
 }

当我第一次使用它时,它的工作会,但是当第二次查询的时间使用执行方法时,我的程序停止并给我这个masseg:"ConnectionString属性尚未初始化"! 和内部异常:"null"!!

当它第一次工作时,这怎么可能,然后在连接字符串为"静态只读"时更改!!

并提前感谢:)..

连接字符串 = 当我使用连接方法超过 1 次时为空

不要使用静态 SqlCOnnection。

 public class Create_Connection
    {
       public static readonly string CONN_STRING = ConfigurationManager.ConnectionStrings["TaskConnectionString"].ConnectionString;
       public static readonly SqlConnection SqlConn = new SqlConnection(CONN_STRING);
     //public static readonly SqlConnection CONN = new SqlConnection(CONN_STRING);
        public DataSet ExecuteSql(string sql)
        {
            SqlDataAdapter da;
            DataSet ds;
            using (var CONN = new SqlConnection(CONN_STRING)) {
                //if (CONN.State == ConnectionState.Open)
                //    CONN.Close();
                CONN.Open();
                da = new SqlDataAdapter(sql, CONN_STRING);
                ds = new DataSet();
                da.Fill(ds);
                //CONN.Dispose();
                CONN.Close();
            }
            return ds;
        }
    }

并在使用它时创建变量。喜欢这个

public class Create_Connection
    {
        public static readonly string CONN_STRING = ConfigurationManager.ConnectionStrings["TaskConnectionString"].ConnectionString;
        public static readonly SqlConnection SqlConn = new SqlConnection(CONN_STRING);
        public DataSet ExecuteSql(string sql)
        {
            var ds = new DataSet();
            using (var CONN = new SqlConnection(CONN_STRING)) {
                CONN.Open();
                var da = new SqlDataAdapter(sql, CONN_STRING);
                da.Fill(ds);
                CONN.Close();
            }
            return ds;
        }
    }