private void 备份数据库_RarToolStripMenuItem_Click(object sender, EventArgs e) { SaveFileDialog fileDialog = new SaveFileDialog(); fileDialog.Filter = "备份文件 (*.rar)|*.rar|所有文件 (*.*)|*.*"; if (fileDialog.ShowDialog() == DialogResult.OK) { database.ResetConnection(); if (File.Exists(fileDialog.FileName)) { File.Delete(fileDialog.FileName); } if (WinRARUtil.CompressFile( new String[] { new FileInfo("TimeDatabase.mdf").FullName, new FileInfo("TimeDatabase_log.ldf").FullName }, fileDialog.FileName)) { if (EncryptUtil.EncryptFile_HC128(fileDialog.FileName)) { MessageBox.Show("无损备份数据库成功!", "备份成功", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { MessageBox.Show("备份失败!加密文件时发生未知错误。", "失败提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("备份失败!该操作需要电脑上装有WinRAR软件。", "失败提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
private void 导入所有数据ToolStripMenuItem_Click(object sender, EventArgs e) { OpenFileDialog fileDialog = new OpenFileDialog(); fileDialog.Filter = "还原文件 (*.rar)|*.rar|所有文件 (*.*)|*.*"; if (fileDialog.ShowDialog() == DialogResult.OK) { database.ResetConnection(); String file = fileDialog.FileName; String rawRarTempFilename = file.Insert(file.Length - 4, "_rawfile"); if (EncryptUtil.DecryptFile_HC128(file, rawRarTempFilename)) { if (WinRARUtil.DecompressFile(rawRarTempFilename, Directory.GetCurrentDirectory())) { MessageBox.Show("无损还原数据库成功!", "还原成功", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { MessageBox.Show("还原失败!该操作需要电脑上装有WinRAR软件。", "失败提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("还原失败!解密文件时发生未知错误。", "失败提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } File.Delete(rawRarTempFilename); Application.Restart(); } }