我有一个正确部署的 Windows 桌面应用程序,我使用 Visual Studio 的安装项目,访问数据库包含在具有永久属性的内容文件中,所以如果用户更新应用程序数据库将保持不变,我担心的是如果我想添加、修改或删除字段,更新我的访问数据库的最佳方法。我已阅读有关自定义操作的信息,但我对这种脚本很陌生,这是最好的方法吗?
问问题
247 次
1 回答
0
我个人选择了另一条路。我有一个像这样的简单 XML 文件
<Scripts>
<Script>
<Progression>1</Progression>
<Command>DROP PROCEDURE MyObsoleteQuery</Command>
</Script>
<Scripts>
在应用程序的每个新版本中,都会分发该文件的一个新副本,其中一个简单的副本会覆盖以前的文件。
在我的应用程序启动时(但我也可以使用单独的可执行文件),我将此文件加载到 DataTable 中以查找脚本文件中可用的最新进度号。
在数据库中,我有一个表,它只保留一条记录,最后一个“进度”是针对这个数据库副本执行的。
此时,我检查这两个数字并执行所有缺少的脚本以到达 XML 文件中的最后一个,并使用最后执行的 Progression 更新内部表。
当然,这是对整个真实过程的非常简化的解释,其中进行了强大的错误检查以确保不会错过任何一个 Progression 脚本
于 2013-07-08T20:42:22.160 回答