1

TopScores.mdfプロジェクトに含まれていないデータベースを使用するアプリケーション JigSaw があります。私がやりたいことは、アプリケーションがアプリケーションのフォルダでデータベースを見つけられるようにすることです。たとえば、.exeファイルとデータベース ファイルをデバッグ フォルダーからデスクトップに移動すると、アプリケーションはデスクトップからデータベースを使用し、デバッグ フォルダーで検索しないようにする必要があります。

それらをデバッグフォルダーに入れても問題はなく、データベースへの接続が確立されますが、それらをデスクトップに置くと次のようになります:

予期せぬ事態がアプリで発生しました。[続行] をクリックすると、アプリケーションはこのエラーを無視して続行を試みます。データベース 'D:\Programing\Projects Visual Studio 2010\JigSaw\JigSaw\bin\Debug\TopScores.mdf' は既に存在します。別のデータベース名を選択してください。ファイル 'C:\Users\Addy\Desktop\Jigsaw\TopScores.mdf' をデータベース TopScores.mdf として添付できません

私の接続文字列は次のとおりです。

string appPath = Path.GetDirectoryName(Application.ExecutablePath);
string connString = @"server  =.\sqlexpress; Database=TopScores.mdf; trusted_connection=TRUE; AttachDbFileName= "+@appPath+@"\TopScores.mdf";
conn = new SqlConnection(connString);

私の悪い英語でごめんなさい:(

4

3 に答える 3

3

接続文字列の設定を "Database=TopScores.mdf" から別のものに変更します。たとえば、"Database=TopScores_brand_new_connection" ファイル/データベース サーバーでファイルを作成/削除/名前変更しないでください。接続文字列でのみ実行してください。ドット、拡張子などを追加しないでください。

于 2014-03-21T00:24:19.200 に答える