0

MSDN サイトのこちらの手順を使用してデータベースをセットアップしました。これには、最初にデータベースを作成してから、それをプロジェクトに追加することが含まれます。

次に、データベースを開くときのデータ ソースで、「Data Source=|Applicatoin Data | + filename.sdf」のようなものを使用しましたが、これを使用すると、アプリを起動してデータをロードしましたが、できませんでしたプロジェクトの外部で作成したローカル データベースのデータを参照してください (リンク先のチュートリアルで説明されているように)。これは、最初にデータベースを作成したときに作成された .sdf ファイルにハードコーディングした場合にのみ機能します。

これをビルド間でデータがデータベースにとどまる相対パスにする方法に関する情報が見つからないようです。

4

1 に答える 1

1

ソリューションをビルドすると、データベースが bin ディレクトリにコピーされます

デバッグするときは、プロジェクトのコピーではなく、そのコピーを使用します。

これは仕様によるものです。そして、それは正しいです。

次のようにする必要があります。

#if DEBUG
    public static readonly string ConnectionString =
        string.Format(@"Data Source=..\..\DbTest\{0}; password='{1}'", DbFileName, DbPassword);
#else
    public static readonly string ConnectionString =
        string.Format(@"Data Source=|DataDirectory|\{0}; password='{1}'", DbFileName, DbPassword);
#endif

2 つの異なるデータベースを使用することを忘れないでください。

テスト用に 1 つ、データのないリリース アプリ用に 1 つ

于 2012-10-24T21:34:46.977 に答える