class类定义public static string connectionString;//此处值每次新赋的值都取得到 都正确
public static SqlConnection Connection
{
get
{
if (connection == null)
{
connection = new SqlConnection(connectionString);//此处connectionString值不变 依然是第一次的值 try
{
connection.Open();
}
catch { }
}
else if (connection.State == System.Data.ConnectionState.Closed)
{
connection.Open();
}
else if (connection.State == System.Data.ConnectionState.Broken)
{
connection.Close();
connection.Open();
}
return connection;
}
}test.aspx.csclass.connectionString="asd";
//第二次赋值
class.connectionString="ABC";
public static SqlConnection Connection
{
get
{
if (connection == null)
{
connection = new SqlConnection(connectionString);//此处connectionString值不变 依然是第一次的值 try
{
connection.Open();
}
catch { }
}
else if (connection.State == System.Data.ConnectionState.Closed)
{
connection.Open();
}
else if (connection.State == System.Data.ConnectionState.Broken)
{
connection.Close();
connection.Open();
}
return connection;
}
}test.aspx.csclass.connectionString="asd";
//第二次赋值
class.connectionString="ABC";
保证不用时,将变量清空
{
connection = new SqlConnection(connectionString);//此处connectionString值不变 依然是第一次的值 try
{
connection.Open();
}
catch { }
}
这段代码只执行了一遍, 你第二次获取connection的时候就不跑这儿了 所以connectionString还是老的
要 new 啊
或用工厂模式