2012-04-25 7 views
0

請求書作成プログラムの請求行として機能するコンテナとしてユーザコントロールを作成しましたが、フォームに追加しようとすると、私のプロジェクトディレクトリではなく、C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ DatabaseName.mdf。誰もがこれを修正する方法を知っていますか?ユーザコントロールデータベースへの接続時に間違ったディレクトリにアクセスする

FULL ERROR:「System.Data.SqlClient.SqlException(0x80131904):ファイルCの自動という名前のデータベースをアタッチしようとする試みを。

は、エラーメッセージは以下のInvoiceEntry "「コンポーネントの作成に失敗しました": \ Program Files(x86)\ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ DatabaseName.mdfが失敗しました。同じ名前のデータベースが存在するか、指定されたファイルを開くことができないか、UNC共有にあります。

EDIT:接続文字列は次のようになります。

<connectionStrings> 
    <add name="AdvVB_Final.My.MySettings.Bauer_BusinessConnectionStringMDF" 
     connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Bauer_Business.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True" 
     providerName="System.Data.SqlClient" /> 
</connectionStrings> 

SECOND EDIT:また、私はデザイナーウィンドウ内のデータバインドさ項目として追加しても、コンボボックスがで更新されていないことを知っている価値があるかもしれませんDBデータ。プレビューデータをクリックすると、適切なデータが表示されます。実行時にのみ正しく入力されません。

+0

接続文字列はどのように見えますか? – zimdanen

+0

@zimdanen:元の投稿に接続文字列を追加しました。 \ DatabaseName.mdfを指すと、UserControlが.dllがあるディレクトリのDBを探すようになっているような気がする。 –

+0

@zimdanen:Errr、DBを探しているディレクトリもコントロールをツールボックスに追加するためのデフォルトのディレクトリ。 –

答えて

1

私はまったく同じ問題を抱えていました。私は、コンストラクタ内のデータベースに接続して、設計時にデータベース接続を呼び出すことができませんでした。これを解決するために、データベースの対話をコントロールのロードイベントに移動しました。

関連する問題