我要做数据恢复功能,要选择一个文件,进行数据恢复,可是如何判断该文件是access能打开的?如果不是access型数据库就提示错误,是的话就正常进行.

解决方案 »

  1.   

    //---恢复数据库
    procedure TBackup.Button3Click(Sender: TObject);
    var
      path:string;
    begin
      if OpenDialog1.Execute then
        if OpenDialog1.FileName <> '' then
        begin
          path := ExtractFilePath(application.ExeName);
          try
            if DM.ADOConnection1.Connected then //--判断数据库是否被打开
               DM.ADOConnection1.Connected := false
            Deletefile(path+'db.mdb');
            copyfile(pchar(OpenDialog1.FileName),pchar(path + 'db.mdb'), false);
            messagebox(getactivewindow(),'成功恢复数据,单击确定后请重新运行软件!','提示!' ,MB_OK + MB_ICONINFORMATION);
            Application.Terminate;
          except
            messagebox(getactivewindow(),'恢复数据失败,请重试!!','错误!' ,MB_OK + MB_ICONERROR);
          end;
        end;
    end;