1
我想要一个包含字符串键和值的字典对象,它们是从数据库中生成的。但是,我只需要在页面加载时运行一次。 (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的类型初始值设定项”引发了一个异常。“
这是ASP.NET还是WinForms或WPF? – ericb 2012-04-17 20:14:21
你知道它抛出一个异常,但它不告诉你哪一个?你有没有尝试加入或者尝试一些try catch块? – Xaisoft 2012-04-17 20:15:02
我非常怀疑这个例外是不可用的,除非你自己吞下了这些信息。 – 2012-04-17 20:15:06