Transaction MySql
Developpeur WDF
Inscrit:
24/01/2006 13:42
De Chartres
Post(s): 142
Bonjour,

Quelqu'un as deja fait des transactions MySQL avec Windev 10?
J'ai le Message d'erreur que je vous envoi en PJ si cela vous parle, j'ai fais des test directement dans MySQL je ne rencontre pas de souci.

Merci.

Attacher un fichier:



jpg  transaction.jpg (24.85 KB)
1630_49b5154ec9f86.jpg 430X355 px

Contribution le : 09/03/2009 14:10
Créer un fichier PDF de la contribution Imprimer


Re: Transaction MySql
Developpeur WDF
Inscrit:
24/01/2006 13:42
De Chartres
Post(s): 142
Pour plus d'information j'ai executer ce petit code simple pour tester les transactions :
	chReq=" SET AUTOCOMMIT = 0;"...
 	+" START TRANSACTION;"...
	+" DELETE FROM arpege_soc_sogefy.dolgmmo WHERE NUMDOS = '080010003678';"...
 	+" ROLLBACK;"


La transaction s'effectue bien dans le cas d'un COMMIT mais pas dans celui du ROLLBACK, une idée?

Contribution le : 09/03/2009 16:04
Créer un fichier PDF de la contribution Imprimer


Re: Transaction MySql
Stagiaire WDF
Inscrit:
01/12/2005 15:06
Post(s): 10
Bonjour,
Pour moi j'ai déjà fait des transactions avec Mysql, le seul truc si je dis pas de betise c'est qu'il faut des tables en INNODB par contre aprés en windev je faisait pluto sqltransaction(sqldébut)
si pas
Ma requete
sqltransaction(sqlannule)
sinon
sqltransaction(sqlfin)
fin

Contribution le : 10/03/2009 15:00
Créer un fichier PDF de la contribution Imprimer


Re: Transaction MySql
Stagiaire WDF
Inscrit:
14/12/2006 10:56
Post(s): 29
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
@+

Contribution le : 11/03/2009 16:51
Créer un fichier PDF de la contribution Imprimer


Re: Transaction MySql
Developpeur WDF
Inscrit:
24/01/2006 13:42
De Chartres
Post(s): 142
Bonjour,

Merci pour vos réponses trés enrichissante.

Contribution le : 16/03/2009 17:22
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


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