我在VB.NET中创建了一个应用程序(使用Microsoft Visual Basic 2010学习版),其中包含一个本地数据库(SQL Server Compact 3.5数据库)来存储数据。
我已经在用户电脑上安装了这个,并添加了"在线搜索更新"功能(发布时可以选择)
现在我注意到,有时当我上传一个新版本时,数据库中的数据会被清除。(可能是我在开发时打开dtb时)
这当然不是我希望系统的行为方式,数据应该始终保留在用户的计算机上。
在"应用程序文件"中,数据库文件(*.sdf)当前设置为"数据文件(自动)",但我不确定具体的工作方式。
有人能帮助我了解所有这些是如何工作的吗?并告诉我如何确保用户数据库中的数据即使在更新后也会保留下来?如果没有解决方案来确保这一点,有没有一种方法可以安全地备份数据并重新加载它?
提前感谢!!
基本上,一键安装会覆盖发布中包含的程序文件夹中的所有内容。因此,如果包含.sdf,那么在执行安装程序时它将覆盖它。您需要做的是在sdf上选择"exclude"。这将使数据库保持以前的状态。
因此,我的建议是有两种不同的出版物。您创建的一个包含.sdf的文件,该文件仅在第一次安装时使用,然后在所有更新中都将其排除在外。
要对表执行更新,您必须在软件中为其编写SQL。基本上,在启动时对所有表进行检查,以确保它们具有正确的设置。如果没有,则添加缺失的列。
希望这能有所帮助。