不想在假死的状态等待半分多钟,再给出个大红叉!问了好久了,没解决,只能再问!

解决方案 »

  1.   

    你的 ado连接是用的 名服务器名字 还是 ip
      

  2.   

    上次有个朋友说application event能捕捉,试验结果和try except一样,不行!
      

  3.   

    不知道你们试验过没有,比如没插网线的话,timeout根本就不起作用的,哪握你设置3秒,仍旧是等半分多,再出大红叉!
      

  4.   

    嗯,这个问题比较头痛,有时会碰到,Connection就一直在哪里报错...我试试看,能解决的话,直接加到Connection Manager组件里面去。P.S. 数据库连接配置管理组件(Full Source)
    http://topic.csdn.net/u/20081225/16/30fd195b-a925-4403-ba4e-dd39e3013ffc.html?seed=801559707
      

  5.   

    其實樓主的問題也並不是Ado的問題,你試一下用Delphi寫一下Ping功能,後運行,如果是把網卡禁用,可以馬上Time out,但是如果把網線拔除也會等上半分鐘才會反應過來。
      

  6.   

    如果程序运行中,服务器关闭,,这时程序执行了adoquery1.open;情况就很糟糕,这种情况正是我要解决的,
      

  7.   

    其实我觉得,这样的思路该是很多的。
    我用了的方式是。
    本地电脑远程取服务器时间,按秒的,这样,既可以做个不让人讨厌的认为是多余的东西,现实在状态栏里。如果有一秒取不到远程时间,就消息发出,比如......提示并将查询按钮enabled为false.另外的方法还可以用icmp的ping 办法,实时的,这样还可以观察下网络线路状态的一个参考。另外还可以用共享一个文件,就一个。判断是否存在....下个sniffer软件,扫下别人的...就知道该怎么做啦。good luck!
      

  8.   

    大家不要说PING了,我在ADOquery1.open前执行clientsocket.ip port都设好并偿试telnet,都不行
    就是说,telnet成功,紧跟着adoquery1.open,都不能保证后面的能成功!,,所以PING就更别提了,,,我就需要能捕捉这种异常,,以友好的方式告诉用户 ,具体的说有两个难题1.adoconntion.timeout属性设置好像不管用2,退一步说,即使让它管用了,也不能完全拦截这个异常,,因为过半分钟,,系统还是弹出个一个大红叉,SB大红叉