SaveDialog对数据库进行备份时,连续备份两次第二次就出错
SaveDialog1.Execute;
     filename:=SaveDialog1.FileName;
     if  filename<>'' then
        begin
          ADOCommand1.CommandText:='BACKUP DATABASE 病理系统 TO DISK = ''' +filename + '''';
          try
              ADOCommand1.Execute;          except
              ShowMessage('数据库备份失败');
              Exit;
          end;
          ADOCommand1.Free;
          ShowMessage('操作成功,系统数据库已备份。'+chr(13)+chr(13)+'备份文件:'+SaveDialog1.FileName);
        end
     else
        begin
           ShowMessage('请输入文件名!');
        end;

解决方案 »

  1.   

    因为你执行了ADOCommand1.Free;
    第二次运行的时候,没有ADOCommand1了,当然就出错了
      

  2.   

    smiler007(笑一笑) 是对的
    把ADOCommand1.Free;去掉就可以了。
      

  3.   

    if SaveDialog1.Execute then
    begin
         filename:=SaveDialog1.FileName;
         if  filename<>'' then
            begin
              ADOCommand1.CommandText:='BACKUP DATABASE 病理系统 TO DISK = ''' +filename + '''';
              try
                  ADOCommand1.Execute;          except
                  ShowMessage('数据库备份失败');
                  Exit;
              end;
              ShowMessage('操作成功,系统数据库已备份。'+chr(13)+chr(13)+'备份文件:'+SaveDialog1.FileName);
            end
         else
            begin
               ShowMessage('请输入文件名!');
            end;
    end;