Message de rapport:
 

Re: Transaction MySql

Sujet: Re: Transaction MySql
par SSX9999 sur 11/3/2009 16:51:37

Bonjour,

l'erreur 2014 out of sync sous mysql veut dire que lorsqu'une requete est executée la precedente n'est pas fermé ou n'a pas renvoyée encore sont resultat

par exemple
je faix un SQLExec et ensuite je refait un exec (une autre requete la le serveur n'aime pas ca

quand vous le fait directement dans mySQL en fait suivant la version soit le serveur utilise la dll qui accepte les requetes avec ; et decoupe les chaines pour executer les requetes soit c'est le programme qui le fait

par exdemple le out of sync survient quand vous faite
SQLExec("SELECT ......","Req1")
SQLExec("SELECT ......","Req2")

pour les transactions sous windev il faut faire
SQLExec("BEGIN WORK","REQ")
SQLFerme("REQ")

ret =  SQLEXec("DELETE ......","ReqDEL") 
SQLFerme("ReqDEL")
si ret alors SQLExec("COMMIT","REQ") sinon  SQLExec("ROLLBACK","REQ")
SQLFerme("REQ")


et surtout ne pas confondre fermer la requete et fermé la transaction une transaction est ouverte par BEGIN et fermée lorsque le serveur recoit COMMIT ou ROLLBACK le SQLFerme ne ferme pas la transaction sur le serveur mais les informations de la requete dans la memoire de la dll d'acces client

Bon dev
@+
Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2