2

我用本地数据库(SQL Server Compact 3.5 数据库)在 VB.NET(使用 Microsoft Visual Basic 2010 Express)中创建了一个应用程序来存储数据。

我已经在用户电脑上安装了这个,并添加了“在线搜索更新”功能(发布时可以选择)

现在我注意到,有时当我上传新版本时,数据库中的数据会被清除。(可能当我在开发时打开 dtb 时)

这当然不是我希望系统的行为方式,并且数据应始终保留在用户计算机上。

在“应用程序文件”中,数据库文件(*.sdf)当前设置为“数据文件(自动)”,但我不确定它的确切工作方式。

任何人都可以帮助我了解所有这些是如何工作的,并告诉我如何确保用户数据库中的数据即使在更新之后也会保留?如果没有解决方案来确保这一点,有没有办法安全地备份数据并重新加载?

提前致谢!!

4

1 回答 1

0

基本上,单击安装会覆盖发布中包含的程序文件夹中的所有内容。因此,如果您包含 .sdf,那么在执行安装程序时它将覆盖它。您需要做的是在 sdf 上选择“排除”。这将使数据库保持以前的状态。

所以我的建议是有两个不同的发布。您创建的一个包含仅在第一次安装时使用的 .sdf,然后在所有更新中排除它。

要对表执行更新,您必须在软件中为其编写 SQL。基本上检查所有表以查看它们在启动时是否具有正确的设置。如果他们没有,那么您添加缺少的列。

希望这可以帮助。

于 2012-10-18T14:33:53.823 回答