>>>>>>So, how can I get the SQL Server session id my query is running in?
>>>>>
>>>>>SELECT @@SPID
>>>>
>>>>Thank you.
>>>>
>>>>So, you say the query that runs the lengthy query should have an asynchronous connection, and the one that reads the advance of the first query should not be asynchronous. What I don get is, in what moment the one that reads the advance should be issued? And how can I know that the lengthy query is completed?
>>>
>>>Yes,.... and you can run the query that read the advance whenever (e.g. timer) you want to update the user on its progress
>>>
>>>You know when the query is completed when SQLEXEC(nASyncHandle) returns any other values than 0
>>>
>>>Walter,
>>
>>So, I guess I should do something like this:
>>
>>lnConn= SQLCONNECT('myOdbcDsn', 'myUserId', 'myPassword')
>>SQLSETPROP(lnConn, 'Asynchronous', .T.)
>>DO WHILE SQLEXEC(lnConn, 'SELECT * FROM myOrders', 'myCursor') = 0
>> ** Show user something...
>> ** Update progressbar...
>>ENDDO
>>** Continue program flow.
>>
>>
>>If my example is correct, how can I know whether the long query terminated fine (returned 1) or not (returned -1) after the DO...WHILE loop?.
>>
>>TIA.
>
>Yes, that would be ok. I'd build some delay (like a Sleep API call) of 100 ms in there.
Thanks Walter. But what is still not clear to me, is when to use SQLEXEC(lnConn), in other wrods, when / where to use SQLEXEC () without the "SELECT" command.
TIA