繁体   English   中英

C#将应用程序mdb数据库保存为备份

[英]C# save application mdb database as backup

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

目前,我正在使用以下代码,该代码在通过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”

使用一键安装后,我得到了。

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配置为在安装完成后运行该应用程序,然后进行数据库备份,则可以正常运行。 但是,如果退出并重新启动应用程序,它将再次失败

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

安装Install Shield for Visual Studio并将其添加到项目中后,在解决方案资源管理器中双击“ 项目助手” ,然后单击“ 应用程序快捷方式”

现在下的其他地方侧面板上单击快捷方式 ,并选中要编辑,然后在右边的工作目录的快捷方式添加下面的[安装]莫名其妙地安装屏蔽离开了这个空白,即使点击快捷方式运行应用程序的确定但是如果没有它,我将得到上面在我的问题中所述的错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM