私は Visual Studio 2010 を使用して ASP.NET Web アプリケーションを構築しています。データベース内の情報からサイト マップの (一部) を動的に作成する作業を行っています。現在、App_Data フォルダーに DrugTest.mdf という名前のダミー テーブルがあります。このテーブルは単に DrugTest1 と呼ばれ、DrugName という 1 つのフィールドしかありません。私が壁にぶつかっているのは、実際にそのテーブルからデータを取得することです。私が混乱しているのは、接続文字列です。接続文字列に関するさまざまな情報、特にhttp://www.connectionstrings.com/を見てきましたが、その情報をこのプロジェクトに実際に適用する方法について少し混乱しています。
編集: SQL Server 2008 RC を使用しています。
例えば:Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;
パスワードとユーザー ID は一目瞭然ですが、私の知る限り、どちらも取得できませんでした。App_Data フォルダーにテーブルを追加して、ダミー データを入力しただけです。ServerAddress は少し紛らわしいです。この情報は実際にはサーバーに保存されず、ローカルに保存されるだけだからです。正直なところ、初期カタログが何を意味するのかわかりません。サブツリーを設定するコードは次のとおりです。接続文字列が空白のままになっていることがわかります。
string connString = ""; // get the connection string
string commandString = "SELECT drugName FROM DrugTable1";
SqlConnection connection = new SqlConnection(connString); // connect to db
SqlCommand command = new SqlCommand(commandString, connection); // set up the command
SqlDataAdapter adapter = new SqlDataAdapter(command);
DataSet drugs = new DataSet();
adapter.Fill(drugs);
foreach (DataRow row in drugs.Tables[0].Rows)
{
string drugName = row["Name"] + "";
SiteMapNode node = new SiteMapNode(this, drugName,
"~/PlaceHolderUrl?path=" + drugName,
drugName);
AddNode(node, root);
}
さらに、私はこれについて正しい方法で行っていないのではないかというしつこい疑いを持っています. データベースが起動して実行されると、これが適切な実装になると思いますが、今のところ、適切な接続文字列とテーブル/フィールド名を平手打ちするだけで、準備が整うように機能させたいだけです。
最後に、私の質問: このローカル テーブルに接続するにはどうすればよいですか? 接続文字列はどのような形式にする必要がありますか? たくさんあることに気づきました。これを行うためのより良い方法はありますか/これは間違っていますか?