如何判断或者得知 AdoConnection的数据库连接已经断开(由于数据库服务器已经关闭的情况下!)
我在afterDisConnected或者OndisConnected的事件中,写代码,在连接断开的时候都无法触发!

解决方案 »

  1.   

    如果用close断开的话,是不会触发这些事件的,只有用KILL才能彻底断开
    参考http://www.delphibbs.com/delphibbs/dispq.asp?lid=1334885
      

  2.   

    try
    读数据
    except 
    end;
      

  3.   

    if not ADOConnection1.Connected then
      

  4.   

    afterDisConnected或者OndisConnected只是在程序中断开时才会触发,意外的断开并不能触发这两个事件,你可以在程序加一个定时器,用另外一个ADOConnection每过一段时间连接一次数据库,设定ADOConnection的TIMEOUT值,定时器中的代码。
    ADOConnection.Close;
    Try
      ADOConnection.Connected=True;
    Accept
      showmessage('与服务数据库已意外断开');
    End;
      

  5.   

    afterDisConnected或者OndisConnected只是在程序中断开时才会触发,意外的断开并不能触发这两个事件,你可以在程序加一个定时器,用另外一个ADOConnection每过一段时间连接一次数据库,设定ADOConnection的TIMEOUT值,定时器中的代码。
    ADOConnection.Close;
    Try
      ADOConnection.Connected=True;
    Except
      showmessage('与服务数据库已意外断开');
    End;
      

  6.   

    用个timer控件,隔一段时间连接一次,连接不成功则证明已经断开