昨天一位高手给了我一段access数据库备份和还原的代码,如下:
**************  备份  ***********
procedure TForm3.BitBtn1Click(Sender: TObject); //这个事件就是为备份选择路径,var                                               这个我清楚。
   mPath:String;
begin
  if Selectdirectory('请选择备份路径','c:',mPath) then
       if mPath[Length(mPath)]<> '\'  then
          mPath :=mPath + '\';
  Edit1.Text:= mPath;
end;
procedure TForm3.Button2Click(Sender: TObject);  //关闭主窗体
begin
   close;
end;procedure TForm3.FormCreate(Sender: TObject);//这个到底是干什么用的啊,能不能
                                               解释一下啊没有它可以对数据库进
                                               行备份操作吗?
begin                                             
    edit3.Text:='MYHELP'+FormatdateTime('yyyy-mm-dd', now) + '.mdb';
end;procedure TForm3.Button1Click(Sender: TObject);//备份操作
var
  f:boolean;
begin
  f:=CopyFile((pchar(ExtractFilepath(Application.ExeName)+'sal.mdb')),pchar(edit1.Text+edit3.Text),false);
  if f=true then
   showmessage('备份成功')
   else
   showMessage('备份失败');
end;
   *********************还原**********
procedure TForm3.Button3Click(Sender: TObject);  //还原操作
var
  f:boolean;
  s:string;
begin
Form1.ADOQuery1.Close;
Form1.ADOQuery2.Close;
Form1.ADOConnection1.Connected := false;
 if  Trim(Edit2.Text)='' THEN
 begin
   showmessage('请选择要恢复的数据库') ;
   Exit;
 end;
 if ExtractFileExt(Trim(Edit2.Text))<>'mdb' then
 begin
 showmessage('请确认你选择要恢复的数据库文件是否是数据库文件!');
 end;
 if Application.MessageBox('真的要恢复数据库吗?','确认恢复',MB_OKCANCEL)=IDOK then
  begin
     f:=CopyFile((pchar(edit2.Text)),pchar(ExtractFilepath(Application.ExeName)+'sal.mdb'),false);
     if f=true then
     begin
     showmessage('恢复成功');
     Form1.ADOConnection1.Connected := true;
     Form1.ADOQuery1.Open;
     Form1.com_query;
    end
     else
     begin
       showmessage('恢复失败');
       exit;
     end;
end;
end;
procedure TForm3.BitBtn4Click(Sender: TObject);  //找到你所要备份或还原的文件名
begin
 OpenDialog1.InitialDir:=ExtractFilepath(Application.ExeName);
  if OpenDialog1.Execute then
    Edit2.Text:=OpenDialog1.FileName;
end;end.
但是我怎么调试了就是不成功?请高手帮我调试一下?谢谢?
并详细指出哪个事件是干什么用的?总共需要哪些控件?都请列出来,谢谢?小第高分相送?

解决方案 »

  1.   

    仔细看了一下
    好象没用什么特别的控件
    但是好象这里:Selectdirectory('请选择备份路径','c:',mPath)
    要加上 uses FileCtrl;
      

  2.   

    我都运行成功了
    ^_^
    这里:Selectdirectory('请选择备份路径','c:',mPath)
    要加上:uses:QDialogs;
      

  3.   

    'MYHELP'+FormatdateTime('yyyy-mm-dd', now) + '.mdb';
    给备份文件取的名字啊,注意:还要用一个:OpenDialog 控件哦