未存储本地数据库插入

这可能是我的一个愚蠢的错误..但我似乎无法理解它。

我创建了一个新的空C#Windows窗体应用程序。

我添加了一个数据库(基于数据集),并将该文件存储在我的解决方案资源管理器中。

我添加了一个表名为Test的表。

我使用new SqlCeCommand("insert into Test values('Name')", new SqlCeConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString)).ExecuteNonQuery();添加记录new SqlCeCommand("insert into Test values('Name')", new SqlCeConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString)).ExecuteNonQuery();

但是,我甚至尝试检索相同的数据,这一切都完美无缺。

但是当我停止我的项目并重建它时……所有数据都再次消失了?

有没有办法解决这个问题,或者当我开始使用这个项目时,它会自行修复(没有一天500次重建?)

您的数据库文件在具有此属性的项目中列出

  Copy to destination directory = Copy Always 

如果这是真的,则每次重新启动项目时,数据库文件的新(空)副本将从项目目录复制到输出目录(BIN \ DEBUG或BIN \ RELEASE),覆盖上一次运行中使用的数据库文件。 您可以避免将此属性更改为Copy NeverCopy if newer

steve给出的答案不断地将数据库复制到现有数据库上,从而删除所有数据。

我已经设法通过启用“始终复制”来修复此问题,然后在资源管理器中将数据库移动到其他位置并将其添加到项目中。 这样,数据库永远不会被覆盖,可以在程序中使用!

(但是,如果/当我将项目发布到另一台计算机时,这可能会引发问题)