我想让一个字典对象包含从数据库生成的字符串键和值。但是,我只需要在页面加载时运行一次。(C#.NET)
我可以通过哪种方式做到这一点?我尝试了以下方法:
public static class GlobalVar
{
static Dictionary<string, string> GenerateLoginStatus(Dictionary<string, string> List)
{
string Query = "SELECT * FROM LoginStatus";
DataTable Types = MyAdoHelper.ExecuteDataTable(GlobalVar.dbName, Query);
foreach (DataRow Row in Types.Rows)
{
List.Add(Row["Status_Title"].ToString(), Row["Status_Info"].ToString());
}
return List;
}
public const string GlobalString = "ProjectDatabase.mdf";
public static Dictionary<string, string> LoginTypes = GenerateLoginStatus(LoginTypes);
}
表结构:
Status_Title Status_Info
AlreadyLoggedIn User is already logged in.
A B
C D
我在另一个页面中使用它:GlobalVar.LoginStatus["AlreadyLoggedIn"]
“AlreadyLoggedIn”肯定是在数据库中创建的,但是当我调用任何键时,它会返回一个异常(不知道是哪个异常)。
编辑:我稍微更改了代码,现在它给出了“'GlobalVar' 的类型初始化程序引发了异常。”