试试
Try
   ADOQuery.Open
Except
   ADOQuery.Execute
end;

解决方案 »

  1.   

    将你的Query连接在TADOConnection上,将TADOConnection的CommandTimeout值调大。
      

  2.   

    设置adoconnection的timeout足够大
    然后设置adoquery.connection:=adoconnection
    即可,最后用一个连接,后面跟很多的adoquery,adotable,adodaset。。
    这样可以节省内存开销,易于控制事物,接所有的连接操作和设置!
      

  3.   

    你可以设置adoconnection的timeout,想上为朋友说的,你应当把adoquery.connection:=adoconneciton
    这样,他就可以继承adoconneciton的一些特性,
    而且可以节省连接(当然也就是内存开销)
      

  4.   

    其实,你可以异步提交你的查询
    如果你的查询非常耗时的话,你可以使用异步提交方式
    不必等到查询完毕才返回,而是提交了就返回
    在查询过程中,ADO可以随时更新目前的查询状态,而且在查询结束也会有事件通知你。很方便的
    具体使用,请参考李维<Delphi5.x ADO/MTS/COM+高级程序设计篇>
      

  5.   

    其实,你可以异步提交你的查询
    如果你的查询非常耗时的话,你可以使用异步提交方式
    不必等到查询完毕才返回,而是提交了就返回
    在查询过程中,ADO可以随时更新目前的查询状态,而且在查询结束也会有事件通知你。很方便的
    具体使用,请参考李维<Delphi5.x ADO/MTS/COM+高级程序设计篇>
      

  6.   

    A: 连接超时,并不是delphi ADO的问题,而是SQL SERVER 中SQL的问题。
      
       遇到这种问题,可能是你的SQL语句写得不优化,你可以提交一下。   另外最好的解决方法是:发现超时,在SQL 中打开,要用到的数据集,让后多   刷新几遍,就好了。B: 切……   哎呀……啧啧啧……
      

  7.   

    A: ADO连接超时,并不是Delphi ADO的问题,而是 SQL SERVE SQL的问题,可能
      
       是因为你的SQL语句写得不优化,你可以尝试提交一下,避免服务器,压力过大   最好的解决办法:把你要用到的数据集,多刷新几遍,就好了。B:切……
      
      哎呀……啧啧啧……