2

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

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

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

我添加了一个Test带有 column的表Name

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

但是,我什至尝试检索相同的数据,并且一切正常。

但是当我停止我的项目并重建它时..所有数据又消失了?

有没有办法解决这个问题,或者当我开始使用这个项目来达到它的预期目的时这个问题会自行解决吗(没有每天重建 500 次?)

4

2 回答 2

4

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

 Copy to destination directory = Copy Always

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

于 2013-04-17T20:35:26.807 回答
0

史蒂夫给出的答案是不断地在现有数据库上复制数据库,这会导致删除所有数据。

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

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

于 2013-05-04T13:26:00.257 回答