これは、ファイルベースのデータベース(または添付されたデータベースファイル)の一般的なシナリオです。
接続文字列は、パスを使用せずにデータベースを参照します。
これは、データベースがアプリケーションの実行と同じディレクトリにあることを意味します。 。
データの挿入、変更、削除に問題はありませんが、VisualStudioデバッグセッション内からアプリを再起動するとすべてが失われます。
ここで、プロジェクトファイルを見ると、他のファイルの間にデータベースファイルがリストされている可能性があります。このデータベースファイルのプロパティの間に、プロパティCopy to the Output directory
があります。 その値はCopy Always
に設定されています 。
つまり、Visual Studio環境内からアプリケーションを再起動するたびに、そのファイルはプロジェクトフォルダーから出力ディレクトリ(通常はBIN\DEBUGまたはBIN\x86 \ DEBUG)にコピーされますが、これにより、前回の実行で使用されたデータベースが破棄されます。挿入されたデータが変更または削除された
プロパティを変更しますCopy to Output Directory
Copy Never
またはCopy if Newer
ただし、Copy if Newer
MS-Accessには別の問題があります。 Visual Studioの[サーバー接続]ウィンドウを使用してAccessoを使用してプロジェクトディレクトリにあるデータベースファイルを開くと、何も変更しない場合でもファイルがすぐに変更されるため、CopyIfNewerは出力ディレクトリへのコピーを実行します