我将TADOSTOREDPROC的EXECUTEOPTIONS的eoAsyncFetchNonBlocking设置成TRUE;并在onFetchProgressg事件中写入代码,运行后好想没用,还是同步方面执行的.请问是不是还有那设置不对.

解决方案 »

  1.   

    异步执行,只是相对于调用Execute的线程来说的.
    FetchProgress只对于某些数据的查询当中有效.数据库如果支持边查询边传输,那么这个就可以用来体现一个进度.
      

  2.   

    我的TADOSTOREDPROC执行一个存储过程,存储过程计算后会返回数据.但是计算的时候太长,程序就像死了一样,我想在执行过程时显示一个进度那应该怎么做.
      

  3.   

    无法显示进度条,只是你可以置为异步执行,然后放一个Timer不断的刷进步条(肯定不准),直到相应的事件产生(StoredProc有没事件不清楚,如果没有的话,可能Connection会有)
      

  4.   

    我在onFetchComplete和onFetchProgress事件做了中断,但是根本就不走这里.
      

  5.   

    我已经设置
    ADOStoredProc1.ExecuteOptions:=[eoAsyncFetchNonBlocking]
      

  6.   

    要想异步执行,就需要eoAsyncExecute
    对于这种需求,可以试一下同时设置eoAsyncExecute, eoAsyncFetch, eoAsyncFetchNonBlocking
      

  7.   

    不知道怎么回事
    eoAsyncExecute, eoAsyncFetch, eoAsyncFetchNonBlocking
    这三个设置都试过了,不行.
    [eoAsyncExecute, eoAsyncFetch, eoAsyncFetchNonBlocking]
    [eoAsyncExecute, eoAsyncFetch]
    [eoAsyncExecute,eoAsyncFetchNonBlocking]
    [eoAsyncFetch, eoAsyncFetchNonBlocking]
    全都不行.
    我用ADOTable就可以,是不是ADOStoredProc不支持呀.