• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#winformsqlite数据库文件备份和恢复

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1.窗体设计:2个button(1个备份(BtnDataBackup),1个恢复(BtnDataRecovery)),1个label(labMsg);1个openFileDialog1(打开选择文件对话窗口);

2:代码

using System.IO;
        private void BtnDataBackup_Click(object sender, EventArgs e)
        {//数据备份按钮
            string dbFilePath = Application.StartupPath + @"\data\orders.db";
            string dbNewFilePath=Application.StartupPath + @"\data\backup\orders"+ DateTime.Now.ToString("yyyyMMddHHmmss") + ".db";
            string dirPath=Application.StartupPath + @"\data\backup";
            try
            {
                if (!Directory.Exists(dirPath))
                {//创建backup文件夹
                    Directory.CreateDirectory(dirPath);
                }
                File.Copy(dbFilePath, dbNewFilePath);//拷贝文件
                if (File.Exists(dbNewFilePath))
                {
                    labMsg.Text="数据库文件备份成功,文件路径: " + dbNewFilePath;
                }
            }
            catch
            {
                labMsg.Text="数据备份失败,备份的同时,不要进行其他操作!";
            }
        }

        private void BtnDataRecovery_Click(object sender, EventArgs e)
        {//数据恢复按钮
            string backUpDir = Application.StartupPath + @"\data\backup";
            string dbFilePath = Application.StartupPath + @"\data\orders.db";
            //选择文件
            openFileDialog1.Filter = "db文件|*.db";//筛选文件类型
            openFileDialog1.InitialDirectory = backUpDir;
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {//恢复[覆盖]文件
                File.Copy(openFileDialog1.FileName, dbFilePath, true);//拷贝文件,存在则覆盖(也可以弹messagebox,让用户选择是否覆盖)
                if (File.GetLastWriteTime(openFileDialog1.FileName).ToString("yyyyMMddHHmmss") == File.GetLastWriteTime(dbFilePath).ToString("yyyyMMddHHmmss"))
                {//通过比较2个文件的修改日期,进行判断
                    labMsg.Text = "数据恢复成功。";
                }
                else
                {
                    labMsg.Text = "数据恢复失败,请手动拷贝文件进行恢复。";
                }
            }
            openFileDialog1.Dispose();
        }

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap