欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

access数据库备份与还原问题

程序员文章站 2024-02-13 15:52:16
...

由于本人一开始学习 数据库 是sql sever ,现在开发用access 2003,所以在做 数据库 的 备份 与 还原 时,第一意识就是利用sql语句来实现,但出现了错误,说“无效的inserted ,update.delete,select”,我就意识到可能是不支持backup和restore这样的sql关键字,

由于本人一开始学习数据库是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 ("数据库还原失败");
}