簡體   English   中英

當我使用Connection方法超過1次時,ConnectionString = Null

[英]ConnectionString = Null when i used Connection method more than 1 time

我的連接字符串有問題,我有一個帶有字符串參數的Execute方法來接收查詢,

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;
   }

 }

當我第一次使用它的時候,它將起作用,但是當第二次查詢的時候使用Execute方法時,我的程序停止運行並給我這個Masseg:“ ConnectionString屬性尚未初始化”! 和InnerException:“ null”!

第一次使用時如何實現,然后在連接字符串為“靜態只讀”時更改呢!

並提前感謝:) ..

不要使用靜態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;
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM