Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[WD11] SQLManagerX

2 réponses
Avatar
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

2 réponses

Avatar
Firetox
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" a écrit dans le message de
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



Avatar
Fredo G-MDI
Merci c'est déjà beaucoup plus clair

"Firetox" a écrit dans le message de news:
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" a écrit dans le message de
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