General information
Forum:
Microsoft SQL Server
Actually, you are supposed to continue calling SQLEXEC() until returns <> 0. If it returns less than zero, you have an error. If it returns more than zero, you have result set(s).
SQLMoreResults() is used to get multiple results sets.
BOb
>I received the error:
>
>Invalid call issued while executing a SQLEXEC( ) sequence (Error 1474)
>
>
>when executing the code below. Actually, this was just test code that I set up in the hope of debugging the error:
>
>Invalid call issued while executing a SQLMORERESULTS( ) sequence (Error 1475) in another context.
>
>I wanted to execute code in the way that I understood it to be recommended when asynchronous is .t. and batchmode is false. My understanding was that I would execute sqlmoreresults repeatedly until It returned 2 - no more data.
>I don't know what is wrong with this code.
>
>The vfp help for error 1474 says:
>
>An invalid SQL pass-through (SPT) function call has been made while a SQLEXEC( ) call was expected to continue the SPT call sequence in progress.
>
>I don't understand what they mean when they say a sqlexec() call was expected to continue the spt call. I thought I am supposed to issue sqlmoreresults - not reissue sqlexec().
>
>Can someone explain this to me?
>
>In the other case, the help for error 1475 says:
>
>
>An invalid SQL pass-through (SPT) function call has been made while a SQLMORERESULTS( ) call was expected to continue the SPT call sequence in progress. Call SQLCANCEL( ) to cancel the SPT sequence or make valid SPT calls to finish the call sequence.
>
>This makes sense to me - I got error 1475, when I tried to execute a NEW SPT STATEMENT, with the same connection handle, before the current one was finished executing, because, I think, sqlmoreresults() had not yet returned 0. (unfortunately, I can't see the sqlmoreresults code executing - it is locked up in an exe for a portion of a system that I don't have access to (Visual accountmate accounting - which hides pieces of its source)
>
>
>
>
>
>
>
>
>open data data\buds
>lnhandle=sqlconnect('vamconnect')
>lnres=sqlsetprop(lnhandle,'batchmode',.f.)
>lnre2=sqlsetprop(lnhandle,'asynchronous',.t.)
>lnres3=sqlexec(lnhandle,'select * from sostrs','mycursor')
>lncounter=0
>do while .t.
>
> ** get error 1474 upon executing this line
> lndata=sqlmoreresults(lnhandle)
> wait wind str(lndata) nowait
> do case
> case lndata= 0
> loop
> case lndata=1
> loop
> case lndata=2
> exit
> otherwise
> wait wind 'error'
>
> endcase
> lncounter=lncounter+1
>enddo
>?lncounter
Previous
Next
Reply
View the map of this thread
View the map of this thread starting from this message only
View all messages of this thread
View all messages of this thread starting from this message only