应用程序在运行的过程中突然SQL-SERVER中断了(或者网络断了),然后就显示"连接失败",然后程序就无法退出. 怎么捕捉客户端应用程序在正常运行过程中,数据库中断或者网络不通畅?

解决方案 »

  1.   

    在数据库操作出错时(排除SQL指令错误)将连接断开,同时用定时器定时扫描数据库连接状态了。
      

  2.   

    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
      with AdoConnection1 do
      begin
        connected := false;
        try
          Connected := true;
          with adoquery1 do
          begin
            close;
            sql.text := 'select getdate() ';
            Open;
          end;
          Memo1.Lines.Add('正常'+ DatetimetoStr(now));
        except
          Timer1.Enabled := false;
          showmessage('数据库联接失败');
          Application.ProcessMessages;
        end;
      end;
    end;