C# 未初始化全局连接字符串
我的连接字符串存储在C# 未初始化全局连接字符串,c#,asp.net,connection-string,data-access-layer,C#,Asp.net,Connection String,Data Access Layer,我的连接字符串存储在myGlobals.cs页面中,如下所示: /* Connection String */ public static string conString { get { return _conString; } set { _conString = ConfigurationManager.ConnectionStrings["BaseConnectionString"].ToString(); } } 我的代码设置为4层体系结构。所以我有一个业务对象文件夹
myGlobals.cs
页面中,如下所示:
/* Connection String */
public static string conString
{
get { return _conString; }
set { _conString = ConfigurationManager.ConnectionStrings["BaseConnectionString"].ToString(); }
}
我的代码设置为4层体系结构。所以我有一个业务对象文件夹,业务访问层和数据访问层。如果我将连接字符串移动到DAL结构中,它就可以正常工作。另一方面,我得到了这个错误:
尚未初始化ConnectionString属性
在这之前,myGlobals.cs类是没有包括在内,还是需要改变
这是我的数据访问层:
public DataTable Load()
{
SqlConnection conn = new SqlConnection(MyGlobals.conString);
SqlDataAdapter dAd = new SqlDataAdapter("administratorGetAll", conn);
dAd.SelectCommand.CommandType = CommandType.StoredProcedure;
DataSet dSet = new DataSet();
try
{
dAd.Fill(dSet, "AdministratorsTable");
return dSet.Tables["AdministratorsTable"];
}
catch
{
throw;
}
finally
{
dSet.Dispose();
dAd.Dispose();
conn.Close();
conn.Dispose();
}
}
属性“setter”不会自动调用;将属性放在赋值的左侧时,将执行其代码-
MyClass.MyProperty=“new value”代码>
您想这样做:
public static string conString
{
get { return ConfigurationManager.ConnectionStrings["BaseConnectionString"]; }
}
属性“setter”不会自动调用;将属性放在赋值的左侧时,将执行其代码-MyClass.MyProperty=“new value”代码>
您想这样做:
public static string conString
{
get { return ConfigurationManager.ConnectionStrings["BaseConnectionString"]; }
}
只有在连接字符串处于。。。设置因此,除非您设置它,否则它永远不会初始化(在这种情况下,您忽略它设置为的值…)您仅在设置连接字符串时。。。设置所以它永远不会初始化,除非你设置它(在这种情况下,你忽略了它被设置的值…)啊,我知道它是如此简单。谢谢你,伙计!啊,我就知道是这么简单。谢谢你,伙计!