我想在程序中时时测试数据库的连接状态,如果突然断网或者后台服务器死机,可以切换到本地表中,但是测试数据库的连接要求时间不能太长,否则影响正常的操作,如何实现。
   我在timer时间中用BDE测试可以实现但是反映时间太长,用ado如果连接突然断网,其connnected属性仍然处于true状态,尽管已经先close再open,
  ado的连接代码如下:
function adoconnect: Boolean;
begin
  with dm_dataM.con1 do
  close;
  begin
    try
    begin
      Open;
      result:=Connected;
    end;
    except
      result:=Connected;
    end;
  end;
end;
请高手指点!!

解决方案 »

  1.   

    con1.ConnectedTimeOut := 15;  // 设置连接超时在15秒内,可以自行设置
    IF NOT con1.Connected  THEN   // 如果未连接
      ...
    ELSE
      ...
      

  2.   

    建议不用BDE, 用 TClientDataSet+ DataProvider BriefCase方式,
    可以在断线的情况下继续工作的,你可以把它保存成XML形式等到
    连接OK再更新Server.
      

  3.   

    to bluce4587:我设置了问题的关键是 如果突然断网,CON1.CONNECTED属性还为true,并没有改为flase