0
我有一个模型中的以下代码用于处理所有与数据库相关的活动,所以我不会在每次我想要编写冗余代码段时与数据库的工作,这个模型类是这样的:ConnectionString属性尚未初始化,但访问静态属性
Shared.cs
:
private static string ConStr
{
get
{
Shared shrObj = new Shared();
return shrObj.DecryptString(ConfigurationManager.ConnectionStrings["constr"].ConnectionString);
}
}
public static SqlConnection SqlCon = new SqlConnection(ConStr);
public static SqlDataReader ORC(SqlCommand sqlCom)
{
SqlDataReader sqlReader=null;
try
{
SqlCon.Open();//ERROR HERE
//The ConnectionString property has not been initialized.
sqlReader = sqlCom.ExecuteReader();
}
catch (Exception ex)
{
WriteToFile(DateTime.Now.ToString("dd-MM-yyyy HH:mm:ss") + " | " + ex, 0);
return sqlReader;
}
return sqlReader;
}
//Functions for closing connections…
//Functions for reading scalar…
//etc.
而且现在从其他车型,当我尝试使用这些功能是这样的: User.cs
internal IEnumerable<User> GetUser()
{
var sqlCom = new SqlCommand("SELECT * FROM [user];", Shared.SqlCon);
using (var blgs = Shared.ORC(sqlCom))
{
// ……. … …
}
}
}
还有一件让我困惑的事情是,当这个数据读取功能在这里第一次从这里登录时被调用,它工作正常,它总是第二次调用这会产生问题。
可能是我只是不玩静态属性写。但我必须保持静态,因为它本身是静态的,可以直接从课堂外直接使用,因为它被SqlConnection
对象使用。
请帮忙。