我正在使用Microsoft Visual Studio .NET 2008创建桌面应用程序。我使用.sdf文件作为我的数据库。我的问题是,当我对记录进行更改(添加新的,删除的,更新的)时,更改仅在我的应用程序运行时才会反映出来。当我重新启动应用程序时,我没有得到我的更改。
我使用的是默认连接字符串
string conString = Properties.Settings.Default.DataConnectionString;
SqlCeConnection con = new SqlCeConnection(conString);
con.Open();
Visual Studio为此数据库提供的值为
数据源= | DataDirectory | \ Data.sdf
我不知道我在做什么错,但所有的查询都在执行。
答案 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时都会调用
再见