C# 如何将sqlce更改分发到客户端

C# 如何将sqlce更改分发到客户端,c#,winforms,.net-4.0,sql-server-ce,C#,Winforms,.net 4.0,Sql Server Ce,我们有一个SQL Compact Edition数据库,用于存储配置设置。它工作正常,但我想对其进行更改以存储其他信息 我正在用Winforms用C语言写东西 当我在我们的项目中对数据库进行更改时,我需要将这些更改发送给客户,以便他们能够将更改与代码更改一起进行。我们的客户有远程笔记本电脑,我们必须手动拨入更新。如果可能的话,我更喜欢用代码自动完成的方法。我对SQLCE不够熟悉,不知道有什么工具可以对客户数据库进行这些更改。每个远程笔记本电脑都有自己的SQLCE数据库,以及访问该数据库的代码。它

我们有一个SQL Compact Edition数据库,用于存储配置设置。它工作正常,但我想对其进行更改以存储其他信息

我正在用Winforms用C语言写东西

当我在我们的项目中对数据库进行更改时,我需要将这些更改发送给客户,以便他们能够将更改与代码更改一起进行。我们的客户有远程笔记本电脑,我们必须手动拨入更新。如果可能的话,我更喜欢用代码自动完成的方法。我对SQLCE不够熟悉,不知道有什么工具可以对客户数据库进行这些更改。每个远程笔记本电脑都有自己的SQLCE数据库,以及访问该数据库的代码。它们是未连接到网络的个人笔记本电脑


比较和分发项目数据库中的更改并确保这些更改应用于客户数据库的简单方法是什么?

这是一个常见问题。您将应用程序与数据库一起发布,然后新的实现需要在数据库中添加一个新字段(或其他一些模式更改)。现在,您计划如何更新那些已经安装了您的应用程序且其中包含有价值数据的客户

这是一项复杂的任务,需要处理许多细节,但最简单的形式可以通过以下方式实现:

在数据库中添加一个只有一条记录和一列的新表。此表将被称为DBVersion,记录中包含一个反映所安装数据库版本的数字。(如果您有一个配置表,只需在其中添加一条记录即可)

现在,您需要准备一个XML文件以随更新一起分发

 <Scripts>
    <Script>
      <Version>1</Version>
      <Command>ALTER TABLE ......</Command>
    <Script>
    ....
 <Scripts>

1.
更改表格。。。。。。
....

此时,您的应用程序可以读取存储在数据库中的版本号,并加载XML文件,执行与版本号高于存储在数据库表中的版本号相关联的每个命令。

如果您要否决投票,请告诉我为什么,以便我可以解决此问题。我没有否决投票,但是,你的问题令人困惑。您是否在询问如何更新数据库以及如何更新软件以反映这些更改?如果是这样的话,那么这是一个巨大的问题,我们不知道你的设置等+1你的评论我会澄清这一点。@ErocM不要让挫折感困扰你,尽管没有反馈的向下投票有点粗鲁。我怀疑在这种情况下,人们会觉得它有点宽泛和主观。这就是说,我想你有一个有效的问题,也许一些小的修改会有所帮助。@ChrisBallard我更新了它,thx为输入。你看到我需要澄清的事情了吗?谢谢你的回复。我相信这就是我要找的!我来试一试。再次感谢!