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 回答