使用嵌入式 SQL Server CE 数据库更新 WPF 应用程序

Posted

技术标签:

【中文标题】使用嵌入式 SQL Server CE 数据库更新 WPF 应用程序【英文标题】:Updating WPF application with embedded SQL Server CE database 【发布时间】:2013-05-11 00:53:16 【问题描述】:

我有一个 WPF 应用程序,其中有一个嵌入式 SQL Server CE 数据库,该应用程序用于存储数据。我计划使用 ClickOnce 进行部署,但不希望每次用户安装最新版本时都会覆盖客户端计算机上的数据库。

用户如何在不更新 WPF 应用程序中的 SQL Server CE 嵌入式数据库的情况下更新我的应用程序?

另外,如果我需要将表或列添加到客户端应用程序上现有的 SQL Server CE 嵌入式数据库而不重新创建数据库并且用户丢失他们的配置,我将如何做到这一点。关于如何解决这些问题的任何想法?

谢谢!

【问题讨论】:

【参考方案1】:

关于第 1 个问题,请参阅http://robindotnet.wordpress.com/2009/08/19/where-do-i-put-my-data-to-keep-it-safe-from-clickonce-updates/

对于第二个问题:在您的数据库中包含一个表,其中包含一个具有单个值的单行,以指示当前数据库架构版本。

每次启动您的应用,检查版本是否为预期版本,可能较新版本,如果不是,则对于每个缺失的版本计数,运行 ALTER TABLE 和 CREATE TABLE 语句以使数据库保持最新。请记住,较新的应用可能需要将数据库升级几代。

【讨论】:

非常感谢。正是我需要的。您博客中的这篇文章也有帮助:link.

以上是关于使用嵌入式 SQL Server CE 数据库更新 WPF 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

使用同步框架自动更新到 SQL Server CE 本地数据库

替换 ClickOnce 应用程序的 SQL Server CE

WP7 SQL Server CE 如何更新

保存选择查询中的值,然后在更新查询 SQL Server CE 中使用它们

将 SQL Server CE 数据库 (.sdf) 从 3.5 更新到 4.0

SQL Server CE:如果存在更新,否则插入