关闭应用程序后,数据库文件.sdf不会更新

时间:2011-07-03 21:12:39

标签: c# sdf

我正在使用Microsoft Visual Studio .NET 2008创建桌面应用程序。我使用.sdf文件作为我的数据库。我的问题是,当我对记录进行更改(添加新的,删除的,更新的)时,更改仅在我的应用程序运行时才会反映出来。当我重新启动应用程序时,我没有得到我的更改。

我使用的是默认连接字符串

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

Visual Studio为此数据库提供的值为

  

数据源= | DataDirectory | \ Data.sdf

我不知道我在做什么错,但所有的查询都在执行。

3 个答案:

答案 0 :(得分:3)

每次从VS.NET运行时,它都会将sdf文件从解决方案复制到bin文件夹中,并覆盖上次运行时的bin / sdf文件。将您的sdf文件的属性更改为“如果更新则复制”而不是“始终复制”。

答案 1 :(得分:1)

检查应用程序文件夹并确保从bin文件中调用数据库文件。

类似的东西:

string startPath = Application.StartupPath;


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

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

此致

答案 2 :(得分:0)

如果您未设置“始终复制”database.sdf的“复制到输出目录”,则会探索解决方案

当前连接字符串和字段应用程序,并且无法更改,每次连接到DataBase时都会调用

再见