我用了一个ADOConnection连接SQL数据库,在ADOConnection的ConnectComplete事件中判断数据库是否运行,可以正常运行,我用了一个timer控件,在运行中检测数据库是否关闭,可是在timer中怎么调用ADOConnection中的的ConnectComplete事件呀。或者有其它更好的办法。等待!!

解决方案 »

  1.   

    不明白什么意思?用Timer干什么,觉得没有必要啊
      

  2.   

    应该是程序结构的问题,对吧?
    procedure TForm1.ADOConnection1ConnectComplete(Connection: TADOConnection;
      const Error: Error; var EventStatus: TEventStatus);
    begin
      //.......
    end;procedure TForm1.Timer1Timer(Sender: TObject);
    var
      es : TEventStatus;
      Error1 : Error;
    begin
      ADOConnection1ConnectComplete(ADOConnection1,Error1,es);
    end;
      

  3.   

    用ADOConnection1.Connected判断不就行了?数据库关闭了,ADOConnection1.Connected就是false,连接的就是true;
      

  4.   

    ADOConnection.Connected 可以直接返回连接状态,如果数据库是关闭的自然返回错误
      

  5.   

    to kiboisme(还是铁棒.....针) 程序运行中, 我把数据库关闭了,跟踪程序可是判断还是连接状态呀,程序如下:procedure TForm1.ADOConnection1ConnectComplete(Connection: TADOConnection;
      const Error: Error; var EventStatus: TEventStatus);
    begin
        if EventStatus<>esok then
      begin
        application.messagebox('无法连接到服务器,请检查服务器是否工作或网络是否连通!','错误',mb_ok+mb_iconstop);
        application.Terminate;
        application.Destroy;
      end;
    end;这是怎么回事呀,急呀!!
      

  6.   

    to  yat5460(姚小杰) 对,可现在我检测的不是最新的。总是在显示刚开始连接状态。
      

  7.   

    ADOConnection1.connected:=false;
    這樣數據庫就斷開了.
      

  8.   

    我不是想把数据库断开,而是相检测数据库的状态。if ADOConnection1.connected=false then
    begin
      //.....
    end;如果我把数据库断开是不是程序运行时if ADOConnection1.connected=false then返回值为真
      

  9.   

    if ADOConnection1.connected=false then 数据库断开则执行XXX你到底什么意思检测数据库是否断开吗?上面的就可以了