[WD10] blocages avec sqlmanagerX

Le
Jacques TREPP
Bonjour,

voici une question "à la cantonnade" pour Frédéric :D
base : Postgresql
dans une liste d'articles, un double-clic ouvre la fiche en mode modif :
init de la fenètre fiche :
g_retour = ART:SQLLitBloque("id_article="+art_actuel,0,30)
SI g_retour ALORS
ART:SQLTableVersEcran("Fiche_Article")
FIN

le blocage est effectué puisque la même opération sur un autre instance
constate le blocage.

Si dans la première instance, j'exécute ART:SqlUpdate()
, l'enregistrement est débloqué.
Par contre, si je clique sur annuler, le record reste bloqué.
ça m'ennuie de faire un update dans une annulation.

Comment débloquer un record bloqué sans faire un update ?
ART:sqltransactionfin ?

merci


--
Jacques TREPP
Albygest
3, rue Jean Mermoz
81160 ST-JUERY
(enlevez 'pasdespam' pour me joindre)
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 #14497321
Bonjour, jacques

si tu laisse SQLManagerX faire le blocage alors il faut pour debloquer :

soit un update
soit un nouveau select
soit activer un filtre
soit envoyé deadLock

donc dans ton code : ART:SQLDeadLock en passant la methode en public
ce que je fais tout de suite comme ca la prochaine version sera ops

Sinon desactive les transaction SQLManagerX et tu peux les gerer
par les transaction de l'acces natif directement

c'est a ton choix

@+

"Jacques TREPP" 48623d42$0$9471$
Bonjour,

voici une question "à la cantonnade" pour Frédéric :D
base : Postgresql
dans une liste d'articles, un double-clic ouvre la fiche en mode modif :
init de la fenètre fiche :
g_retour = ART:SQLLitBloque("id_article="+art_actuel,0,30)
SI g_retour ALORS
ART:SQLTableVersEcran("Fiche_Article")
FIN

le blocage est effectué puisque la même opération sur un autre instance
constate le blocage.

Si dans la première instance, j'exécute ART:SqlUpdate()
, l'enregistrement est débloqué.
Par contre, si je clique sur annuler, le record reste bloqué.
ça m'ennuie de faire un update dans une annulation.

Comment débloquer un record bloqué sans faire un update ?
ART:sqltransactionfin ?

merci


--
Jacques TREPP
Albygest
3, rue Jean Mermoz
81160 ST-JUERY
(enlevez 'pasdespam' pour me joindre)


Jacques TREPP
Le #14497281
"Firetox" news:48625bf8$0$3748$
Bonjour, jacques

si tu laisse SQLManagerX faire le blocage alors il faut pour debloquer :

soit un update
soit un nouveau select
soit activer un filtre
soit envoyé deadLock

donc dans ton code : ART:SQLDeadLock en passant la methode en public
ce que je fais tout de suite comme ca la prochaine version sera ops

Sinon desactive les transaction SQLManagerX et tu peux les gerer
par les transaction de l'acces natif directement

c'est a ton choix




Bonjour, Frédéric, et merci pour ta réponse rapide.
Si j'ai bien compris, je peux faire indifféremment :
ART:SQLDeadLock ()
ou
ART:SQLFiltre("","")

Je regarde ça tout de suite.


--
Jacques TREPP
Albygest
3, rue Jean Mermoz
81160 ST-JUERY
(enlevez 'pasdespam' pour me joindre)
Firetox
Le #14497271
jacques a ecrit
Bonjour, Frédéric, et merci pour ta réponse rapide.
Si j'ai bien compris, je peux faire indifféremment :
ART:SQLDeadLock ()
ou
ART:SQLFiltre("","")



Je regarde ça tout de suite.



je passerais plutot par deadLock car dans le filtre la ligne DeadLock est
desactivée car elle peut être utilisée ailleur donc
le filtre ne te desactivera pas le lock (par contre la ligne a ete mise en
commentaire le 15/05/2006 donc je pense que cela a ete fait pour une bonne
raison

a mon avis la premiere methode est la bonne





"Jacques TREPP" 48634e1d$0$28749$
"Firetox" news:48625bf8$0$3748$
Bonjour, jacques

si tu laisse SQLManagerX faire le blocage alors il faut pour debloquer :

soit un update
soit un nouveau select
soit activer un filtre
soit envoyé deadLock

donc dans ton code : ART:SQLDeadLock en passant la methode en public
ce que je fais tout de suite comme ca la prochaine version sera ops

Sinon desactive les transaction SQLManagerX et tu peux les gerer
par les transaction de l'acces natif directement

c'est a ton choix




Bonjour, Frédéric, et merci pour ta réponse rapide.
Si j'ai bien compris, je peux faire indifféremment :
ART:SQLDeadLock ()
ou
ART:SQLFiltre("","")

Je regarde ça tout de suite.


--
Jacques TREPP
Albygest
3, rue Jean Mermoz
81160 ST-JUERY
(enlevez 'pasdespam' pour me joindre)


Jacques TREPP
Le #14492481
"Firetox" news:48635040$0$9222$


je passerais plutot par deadLock car dans le filtre la ligne DeadLock est
desactivée car elle peut être utilisée ailleur donc
le filtre ne te desactivera pas le lock (par contre la ligne a ete mise en
commentaire le 15/05/2006 donc je pense que cela a ete fait pour une bonne
raison

a mon avis la premiere methode est la bonne



Frédéric,
la fonction Deadlock n'est pas accessible puisque PRIVEE.
Je l'ai passée en PUBLIC, et ça fonctionne, avec, par exemple :
ART:SQLDeadLock()

j'ai bien fait ?

Merci



--
Jacques TREPP
Albygest
3, rue Jean Mermoz
81160 ST-JUERY
(enlevez 'pasdespam' pour me joindre)
Firetox
Le #14492471
Oui jacques je l'ai fait hier en te repondant :

donc dans ton code : ART:SQLDeadLock en passant la methode en public
ce que je fais tout de suite comme ca la prochaine version sera ops

la methode SQLDeadLock est en public maintenant

@+

"Jacques TREPP" 48636ac6$0$31879$
"Firetox" news:48635040$0$9222$


je passerais plutot par deadLock car dans le filtre la ligne DeadLock est
desactivée car elle peut être utilisée ailleur donc
le filtre ne te desactivera pas le lock (par contre la ligne a ete mise
en commentaire le 15/05/2006 donc je pense que cela a ete fait pour une
bonne raison

a mon avis la premiere methode est la bonne



Frédéric,
la fonction Deadlock n'est pas accessible puisque PRIVEE.
Je l'ai passée en PUBLIC, et ça fonctionne, avec, par exemple :
ART:SQLDeadLock()

j'ai bien fait ?

Merci



--
Jacques TREPP
Albygest
3, rue Jean Mermoz
81160 ST-JUERY
(enlevez 'pasdespam' pour me joindre)


Jacques TREPP
Le #14492461
"Firetox" news:48636f4b$0$12680$
Oui jacques je l'ai fait hier en te repondant :

donc dans ton code : ART:SQLDeadLock en passant la methode en public
ce que je fais tout de suite comme ca la prochaine version sera ops

la methode SQLDeadLock est en public maintenant

@+





Bien compris.
Merci encore

--
Jacques TREPP
Albygest
3, rue Jean Mermoz
81160 ST-JUERY
(enlevez 'pasdespam' pour me joindre)
Publicité
Poster une réponse
Anonyme