Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Invalid call issued while executing a SQLEXEC( ) sequenc
Message
De
14/08/2002 20:43:50
 
 
À
14/08/2002 20:04:34
Information générale
Forum:
Microsoft SQL Server
Catégorie:
Syntaxe SQL
Divers
Thread ID:
00689793
Message ID:
00689805
Vues:
53
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
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform