给你我刚做的代码,你自己去修改去吧.我的是备份的数据库在同一个目录
选择时间,我用的办法备份时候是建立一个INI文件.还原的时候去读出来还原的时间.
procedure TForm1.N6Click(Sender: TObject);
var BackDate, AppPath:string;
MyIni :TIniFile;
begin
try//恢复数据
MyIni := TIniFile.Create('datebasez.ini');
BackDate := MyIni.ReadString('DataBack','BackTime','');
Finally
MyIni.Free;
end;
if BackDate <>'' then
begin
if Form1.PshowMessage('提示','最近一次备份数据的日期是“'+BackDate+'”。'+#13+#13+'如
果恢复数据则这日之后的数据都会丢失,是否继续?',1)//我的PshowMessage()没给你贴出 来,和你的问题无关
then
begin
try
ADOConnection1.Connected := false;
AppPath := ExtractFilePath(Application.ExeName);//读取路径,你用控件读出路径就可以了.
CopyFile(PChar(AppPath+'backup.mdb'),PChar(AppPath+'datebasez.mdb'),false);//还原文件
Form1.PshowMessage('提示','数据已经成功恢复!请查对数据!',0);
except
Form1.PshowMessage('系统错误','恢复数据时失败!',0);
end;
end;
end else
Form1.PshowMessage('提示','没有备份数据可以使用!',0);
end;