0

Microsoft Visual Studio .NET 2008 を使用してデスクトップ アプリケーションを作成しています。データベースとして .sdf ファイルを使用しています。私の問題は、レコードを変更 (新規追加、削除、更新) すると、アプリケーションの実行中にのみ変更が反映されることです。アプリケーションを再起動すると、変更が反映されません。

デフォルトの接続文字列を使用しています

string conString = Properties.Settings.Default.DataConnectionString;
SqlCeConnection con = new SqlCeConnection(conString);
con.Open();

このデータベースに対して Visual Studio によって指定された値は次のとおりです。

データ ソース=|データ ディレクトリ|\Data.sdf

私がやっている間違いはわかりませんが、すべてのクエリが実行されています。

4

3 に答える 3

3

VS.NET から実行するたびに、sdf ファイルがソリューションから bin フォルダーにコピーされ、前回の実行でそこにあった bin/sdf ファイルが上書きされます。SDF ファイルのプロパティを「常にコピー」ではなく「新しい場合はコピー」に変更します。

于 2011-07-03T21:25:20.087 に答える
1

アプリケーションフォルダーを確認し、データベースファイルが配置されているbinファイルからデータベースファイルを呼び出していることを確認してください。

何かのようなもの:

string startPath = Application.StartupPath;


var filepath = startPath + "\\" + "Database.sdf";

private SqlCeConnection conn = new SqlCeConnection("Data Source={0};Persist Security Info=False;",filepath);   

よろしく

于 2011-07-03T23:24:15.783 に答える
0

database.sdf の [出力ディレクトリにコピー] を [常にコピー] に設定していない場合、解決策を探索します。

現在の接続文字列とフィールド アプリケーション。変更することはできず、DataBase に接続するたびに呼び出されます。

さよなら

于 2011-07-03T21:19:42.077 に答える