[WD11] SQLManagerX

Le
Fredo G-MDI
Bonjour,

Commment réaliser des requêtes avec des transactions en utilisant les
classes présentes dans SQLManagerX ?
Un exemple serait le bienvenu !

D'avance merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Firetox
Le #14511951
Bonjour,

tout depend si vous utilisez les acces directement ou par l'intermediaire de
SQLManagerX la classe mere

cas des acces natif directement
//-------------------------------------------------------------------
v_retour est un booleen
MonAcces:mySQLTransaction(MonAcces:MySQLDebut,1)
v_retour = MonAcces:mysqlExec(.......)
si v_retour alors v_retour = MonAcces:mysqlExec(.......)
si v_retour alors v_retour = MonAcces:mysqlExec(.......)
si v_retour
// validation de l'ensemble des requetes
MonAcces:mySQLTransaction(MonAcces:MySQLFin,1)
sinon
// annulation de la transaction
MonAcces:mySQLTransaction(MonAcces:MySQLAnnule,1)
fin
//---------------------------------------------------------------------

pour SQLManagerX
SQLManagerX dans ses ordres effectue systhematiquement des transactions
quand on fait MonObjet:SQLLitBloque : SQLManagerX ouvre la transaction
MonObjet:SQLupdate fait l'update et ferme la transaction

si vous voulez avoir des transactions sur plusieurs objets il faut dire a
SQLManagerX de ne pas faire les transactions
mais qu'on va les gerer en programmation

//----------------------------------------------------------------------------------------
v_retour est un booleen

// desactivation des transactions sur les objets SQLManagerX
I_client:TransactionDesactive
i_commande:TransactionDesactive

MonAcces:mySQLTransaction(MonAcces:MySQLDebut,1)
v_retour = i_client:SQLLitBloque
si v_retour alors v_retour = i_commande :SQLInsert()
si v_retour alors v_retour = i_client:SQLupdate()

si v_retour
// validation de l'ensemble des requetes
MonAcces:mySQLTransaction(MonAcces:MySQLFin,1)
sinon
// annulation de la transaction
MonAcces:mySQLTransaction(MonAcces:MySQLAnnule,1)
fin

// on relaisse la main a SQLManagerX pour les transactions suivantes
I_client:TransactionActive
i_commande:TransactionActive
//-----------------------------------------------------------------


voila
Bon dev

@+

"Fredo G-MDI" news: 4823f70e$0$22376$
Bonjour,

Commment réaliser des requêtes avec des transactions en utilisant les
classes présentes dans SQLManagerX ?
Un exemple serait le bienvenu !

D'avance merci



Fredo G-MDI
Le #14511941
Merci c'est déjà beaucoup plus clair

"Firetox" 4823fd2f$0$3365$
Bonjour,

tout depend si vous utilisez les acces directement ou par l'intermediaire
de SQLManagerX la classe mere

cas des acces natif directement
//-------------------------------------------------------------------
v_retour est un booleen
MonAcces:mySQLTransaction(MonAcces:MySQLDebut,1)
v_retour = MonAcces:mysqlExec(.......)
si v_retour alors v_retour = MonAcces:mysqlExec(.......)
si v_retour alors v_retour = MonAcces:mysqlExec(.......)
si v_retour
// validation de l'ensemble des requetes
MonAcces:mySQLTransaction(MonAcces:MySQLFin,1)
sinon
// annulation de la transaction
MonAcces:mySQLTransaction(MonAcces:MySQLAnnule,1)
fin
//---------------------------------------------------------------------

pour SQLManagerX
SQLManagerX dans ses ordres effectue systhematiquement des transactions
quand on fait MonObjet:SQLLitBloque : SQLManagerX ouvre la transaction
MonObjet:SQLupdate fait l'update et ferme la transaction

si vous voulez avoir des transactions sur plusieurs objets il faut dire a
SQLManagerX de ne pas faire les transactions
mais qu'on va les gerer en programmation

//----------------------------------------------------------------------------------------
v_retour est un booleen

// desactivation des transactions sur les objets SQLManagerX
I_client:TransactionDesactive
i_commande:TransactionDesactive

MonAcces:mySQLTransaction(MonAcces:MySQLDebut,1)
v_retour = i_client:SQLLitBloque
si v_retour alors v_retour = i_commande :SQLInsert()
si v_retour alors v_retour = i_client:SQLupdate()

si v_retour
// validation de l'ensemble des requetes
MonAcces:mySQLTransaction(MonAcces:MySQLFin,1)
sinon
// annulation de la transaction
MonAcces:mySQLTransaction(MonAcces:MySQLAnnule,1)
fin

// on relaisse la main a SQLManagerX pour les transactions suivantes
I_client:TransactionActive
i_commande:TransactionActive
//-----------------------------------------------------------------


voila
Bon dev

@+

"Fredo G-MDI" news: 4823f70e$0$22376$
Bonjour,

Commment réaliser des requêtes avec des transactions en utilisant les
classes présentes dans SQLManagerX ?
Un exemple serait le bienvenu !

D'avance merci







Publicité
Poster une réponse
Anonyme