Rollback

cs_elpens Messages postés 260 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 3 novembre 2007 - 28 févr. 2006 à 11:44
cs_elpens Messages postés 260 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 3 novembre 2007 - 6 mars 2006 à 09:55
Bonjour.
Depuis quelques temps, je seche sur une manière de procéder.
Voilà mon problème :
J'ai une base de donnée contenant 3 tables : Company, Group & Ip Address
J'ai une interface asp qui me permet de créer et modifier des groupes.
Une fois un groupe crée, j'ai une autre interface qui me permet d'ajouter des @ ip au groupe

Je voudrais un bouton cancel dans mon application.
Il me faudrais une procedure, trigger ou fonction qui me permette de faire une rollback, au cas ou l'utilisateur click sur ce bouton.
de manière a ce que le groupe crée ou modifié au dessus ne soit pas introduit.

J'espere etre assez clair ... mais ce n'est pas trop simple a expliquer

Merci pour toute proposition, et bonne journée a tous.

ElpenS

2 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
28 févr. 2006 à 12:04
Salut,

Le roolback est une instruction que tu peux mettre derriere ton bouton cancel.
Il faut que tu crée une transaction
Que tu englobes tes instructions sql à l'intérieur
Que tu commites la transaction dans ton bouton OK et que tu rollback dans ton bouton cancel.

Mais cette méthode n'est pas acceptable, je pense.

Car la transation dois être en générale utiliser dans la meme focntion pour des question d'architecture. Et ca évite de promener la transaction.
Et ca peut entrainer surement des problemes pour la gestion des transactions englobantes.

Ce qui est généralement fait.
Sur bouton OK
L'enregistrement est effectué, si il y a un probleme c'est roolbacké (mettre un message d'erreur)
et sur le bouton cancel on recharge ce qu'il y avait dans la base.

sur le bouton OK
généralement on a un code du style

trans = new transaction
try
'ordre sql
sauvegarde()
trans.commit
catch ex
trans.rollback
message (EX)
end try


En esperant t'avoir quider
0
cs_elpens Messages postés 260 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 3 novembre 2007
6 mars 2006 à 09:55
Ouais, je comprend... Cependant, cela ne m'arrange pas ...

Mais est-ce possible que dès que je presse sur mon bouton "Create Group", je lui lance ma transaction :
CREATE TRANSACT
BEGIN...
INSERT INTO Group("", "") VALUES ...

qu'une fois le groupe "crée"(pas complement) je puisse ensuite faire :
INSERT INTO IP@("", "") VALUES ...
OR DELETE ... FROM IP@...
en fonction des boutons (add @, restore @ or delete @) de ma page

Puis, sur mes deux boutons de validation :
OK --> Commit
CANCEL -- Rollback

Voilà, j'espere que c'est un peu plus clair...

Merci et bonne journée
0
Rejoignez-nous