【问题标题】:C# save application mdb database as backupC# 将应用程序 mdb 数据库保存为备份
【发布时间】:2017-04-28 17:48:38
【问题描述】:

我正在开发一个 C# 应用程序,它使用 Microsoft mdb 数据库“OLEDB.12.0”来存储记录,一切正常。但是,我希望能够在用户单击按钮时备份数据库。

目前我正在使用以下代码,在通过 MS Studio 2015 运行时可以使用,但在安装后失败。

string DBFile = "Database.mdb" as string;

      //Set Database Filename As Today's Date For Backup And Replace Unwanted Characters
      string ThisDate = DateTime.Now.ToString("M/d/yyyy") as string;
      char[] separators = new char[] { ' ', '/', ',', '\r', '\t', '\n' };

      string[] temp = ThisDate.Split(separators, StringSplitOptions.RemoveEmptyEntries);
      ThisDate = String.Join("_", temp);

      //Open The Save Dialog
      SaveFileDialog openFileDialogDB = new SaveFileDialog();

      openFileDialogDB.InitialDirectory = Application.ExecutablePath.ToString();
      openFileDialogDB.Filter = "mdb files (*.mdb)|*.mdb|All files (*.*)|*.*";
      openFileDialogDB.FilterIndex = 1;
      openFileDialogDB.RestoreDirectory = true;
      openFileDialogDB.FileName = ThisDate;

      if (openFileDialogDB.ShowDialog() == DialogResult.OK)
        {
          //Save Database Backup
          File.Copy(DBFile, openFileDialogDB.FileName, true);
        }

使用 Install Shield 安装后出现的错误是。

System.IO.FileNotFoundException:找不到文件“Database.mdb”。 文件名:'Database.mdb'

在使用 One click install 安装后,我得到了。

System.IO.FileNotFoundException:找不到文件 'C:\Users\Username\AppData\Local\Apps\2.0\X27G5OGV.1A8\X58VR‌​M4Y.HGD\lght..tion_0‌​000000000000000_0001‌​.0000_f0c86b36a0494a‌​4c\Database.mdb'

所以我的问题是如何在安装应用程序后备份数据库。

奇怪的是,如果我将 Install Shield 配置为在安装完成后运行应用程序,然后进行数据库备份,它就可以正常工作。但是,如果我退出并重新启动应用程序,它会再次失败

【问题讨论】:

  • 本地数据库是 mdf 对吗?如果我没记错的话,mdb 是 mdf 的数据文件。你应该复制 mdf 而不是 mdb 吗?
  • 啊!我没有想到,会试一试。谢谢
  • 复制前尝试分离
  • @Malcolm,需要文件string DBFile = Environment.CurrentDirectory + @"\Database.mdb"; 的正确路径,假设文件与可执行文件位于同一目录中。
  • 查看此链接了解 |DataDirectory| 的位置结束:social.msdn.microsoft.com/Forums/sqlserver/en-US/… 或者你可以打电话给AppDomain.CurrentDomain.GetData("DataDirectory")

标签: c# database visual-studio


【解决方案1】:

我终于想通了,所以我将我的解决方案在这里发布给其他可能遇到同样问题的人。

Visual Studio 安装 Install Shield 并将其添加到您的项目后,在 Solution Explorer 中双击 Project Assistant > 然后点击应用程序快捷方式

现在在 Other Places 下的侧面板中点击 Shortcuts 并突出显示您要编辑的快捷方式,然后在 Working Directory 的右侧> 添加以下 [INSTALLDIR] 以某种方式 Install Shield 将其留空,即使单击快捷方式应用程序运行正常,但没有它,我会收到上述错误问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-12
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 2016-06-20
    • 1970-01-01
    • 1970-01-01
    • 2011-07-18
    相关资源
    最近更新 更多