0

私は 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);
}

さらに、私はこれについて正しい方法で行っていないのではないかというしつこい疑いを持っています. データベースが起動して実行されると、これが適切な実装になると思いますが、今のところ、適切な接続文字列とテーブル/フィールド名を平手打ちするだけで、準備が整うように機能させたいだけです。

最後に、私の質問: このローカル テーブルに接続するにはどうすればよいですか? 接続文字列はどのような形式にする必要がありますか? たくさんあることに気づきました。これを行うためのより良い方法はありますか/これは間違っていますか?

4

2 に答える 2

1

接続文字列の初期カタログ部分を に置き換えてみてくださいAttachDbFilename=|DataDirectory|DrugTest.mdf

また、SQL Server Express を使用している場合は、データ ソースにインスタンスを含める必要がある場合があるため、試してみてくださいData Source=mySeverAddress\SQLExpress。ここで、SQLExpress はインスタンス名です。

ところで、http://www.connectionstrings.comサイトの SQL Server 2008 ページで、「接続時にデータ ディレクトリにあるデータベース ファイルをアタッチする」というタイトルのセクションまで少し下にスクロールすると、この情報を見つけることができます。ローカルの SQL Server Express インスタンスに。」

于 2012-06-20T16:37:34.517 に答える
1

正しい接続文字列を取得する別の方法は、ServerExplorer ウィンドウで確認してください。

  • メニューで、[表示] -> [サーバー エクスプローラー] をクリックします。
  • サーバー エクスプローラー ウィンドウで、DrugTest.mdf を見つけます。
  • ファイルを右クリックし、[プロパティ] を選択します

ここに画像の説明を入力

  • プロパティで正しい接続文字列を確認できます
  • 接続文字列をコピーして使用する

注: ファイルの場所がハードコードされていることに注意してください。|DataDirectory|後で使用する必要がある場合があります

于 2012-06-20T16:48:11.490 に答える