辞書オブジェクトにデータベースから生成された文字列のキーと値が含まれるようにしたいと思います。しかし、ページが読み込まれるときに一度だけ実行する必要があります。 (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」確かにデータベースに作成されますが、私ときいずれかのキーを呼び出すと、例外を返します(どの例外を通知しないか)。
EDIT:コードを少し変更しました。これで、「 'GlobalVar'の型初期化子が例外をスローしました。
このASP.NETまたはWinFormsまたはWPFですか? – ericb
あなたは例外をスローすることは知っていますが、どちらのことを教えてくれませんか?あなたはそれに踏み込んだり、ブロックをキャッチしようとしましたか? – Xaisoft
あなたが情報を自分で飲み込んだ場合を除き、私は例外が利用できないことを非常に疑っています。 –