我在VB.NET(使用Microsoft Visual Basic 2010 Express)中创建了一个带有本地数据库(SQL Server Compact 3.5数据库)的应用程序来存储数据。
我已在用户计算机上安装了此功能,并添加了“在线搜索更新”功能(可在发布时选择)
现在我注意到,有时当我上传新版本时,数据库中的数据会被清除。 (可能是我在开发时打开dtb)
这不是我希望系统行为的方式,而且数据应始终保留在用户计算机上。
在“应用程序文件”中,数据库文件(* .sdf)当前设置为“数据文件(自动)”,但我不确定其工作方式。
任何人都可以帮助我理解所有这些是如何工作的,并告诉我如何确保用户数据库中的数据即使在更新后仍然存在? 如果没有解决方案来确保这一点,有没有办法安全备份数据并重新加载?
提前致谢!!
答案 0 :(得分:0)
基本上,单击一次安装会覆盖发布中包含的程序文件夹中的所有内容。因此,如果您包含.sdf,那么它将在执行安装程序时覆盖它。您需要做的是在sdf上选择“排除”。这将使数据库保持其先前的状态。
所以我的建议是有2个不同的出版物。您创建的一个包含仅在首次安装时使用的.sdf,然后在所有更新中使用,您将其排除。
要对表执行更新,您必须在软件中为其编写SQL。基本上检查所有表,看看他们在启动时有正确的设置。如果他们没有,那么你添加缺少的列。
希望这有帮助。