【问题标题】:Create a copy of a file with Visual Studio 2012使用 Visual Studio 2012 创建文件的副本
【发布时间】:2016-03-04 08:10:24
【问题描述】:

我很抱歉标题不好,但我没有想到更好的方法。

我正在创建一个带有数据库的程序 (vb.net)。当我构建程序时,数据库已经在其中并且程序正在运行。

如果构建、使用和编辑数据库的用户,更改将被保存。但是如果我更新程序,数据库将被覆盖,用户的所有更改都将消失。

我从几个小时以来一直在寻找解决方案,但我找不到合适的关键字进行搜索。所以也许有人可以帮助我。

我的想法是从程序中复制数据库,保存在这里:

C:\Users\<Username>\AppData\Local\Apps\2.0\XB8ZOKH5.AK0\C9NZMRPR.25M

到永久存储位置,例如这里:

C:\Users\<Username>\program\database.accdb

如何使用 Visual Studio 做到这一点?

【问题讨论】:

  • 问题是你真正想要实现什么?如果您更改数据库的结构(更改表、添加索引、创建存储过程...)会怎样。您要发布此类更改吗?
  • 我必须是一个固定结构,因为用户可以插入自己的数据,程序会读取它。
  • 您是否使用 ClickOnce 发布?
  • 我建议“部署新程序版本时如何保留旧数据库?”作为标题。

标签: vb.net ms-access visual-studio-2012


【解决方案1】:

你在正确的轨道上。几年前我学会了一种类似的技术,它在像你这样的小项目上效果很好。

您的安装程序应该只在硬盘上安装一个“模板”版本的数据库。

当您的程序启动时,它可以尝试连接到数据库的“工作副本”。如果用户无法连接到数据库,或者“工作副本”没有设置,程序可以复制“模板”(System.IO.File.Copy)并保存设置,指向“工作副本”。然后每次升级程序时,您的完整数据库将是安全的。当然,让您的程序经常对数据库 (zip) 进行“备份”也是一个好主意。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多