access数据库备份与还原问题

时间:2022-09-22 20:50:23

由于本人一开始学习数据库是sql sever ,现在开发用access 2003,所以在做数据库的备份与还原时,第一意识就是利用sql语句来实现,但出现了错误,说“无效的inserted ,update.delete,select”,我就意识到可能是不支持backup和restore这样的sql关键字,可能在access中不支持,但自己感觉还是不相信,从网上和图书馆查找利用sql语句来实现的信息,可是都未查找到,后来网上有些人说access不支持SQL语句备份,这和我此时的想法一致,于是就利用文件的复制来备份与恢复。很简单哦。关键代码如下:

备份:

  string dataBasePath = Application.StartupPath + "\\database\\DB.mdb";
        string beiFenPath;
        private void buttonX2_Click(object sender, EventArgs e)
        {
            if (textBox1.Text.ToString().Trim() == "" || textBox2.Text.ToString().Trim() == "")
            {
                MessageBox.Show("输入信息不能为空");
                return;
            }

            if (!File.Exists(dataBasePath))
            {
                throw new Exception("源数据库不存在,无法备份");
            }
            beiFenPath = textBox1.Text.ToString().Trim();
            File.Copy(dataBasePath, beiFenPath + "\\"  + textBox2.Text + ".mdb", true);
            MessageBox.Show("数据库备份成功");
        }

 

还原:  beiFenPath = textBox1.Text.ToString().Trim();
            if( !File.Exists(beiFenPath) )
            {   
                throw new Exception("备份数据库不存在,无法修复");
            }     
            try       
            { 
                //为了没有备份当前数据库,所以在还原前,先备份一下现在的数据库
                File.Copy(dataBasePath, Application.StartupPath+"\\beifen\\"+"DB.mdb",true);
                //如果有重名文件 不提示 ,直接替换
                File.Copy(beiFenPath,dataBasePath, true );     
                 MessageBox.Show("数据库还原成功");
            }      
            catch    
            {           
              MessageBox .Show ("数据库还原失败");     
            }