Salut, j'utilise la version 6 open source d'interbase. Quand j'execute deux requetes successivements et que la dernière échoue, la première requète est validée malgré le rollback. Voici mon code:
Mais même si la deuxième requete echoue, le update de la première requète est validé malgré le rollback qui est executé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 try //DM.qsql : Est un tquery que j'ai deposé dans le module de données DM //Première requete DM.Qsql.sql.clear; DM.QSql.sql.add('update service set cd_service=1) ; DM.qsql.execsql; //Deuxième requete DM.qsql.sql.clear; dm.qsql.SQL.Add('insert into HIST_RATTACHEMENT(id_rat) values (1)); dm.qsql.execsql; dm.qsql.sql.clear; DM.qsql.sql.add('commit');//Pour effectuer la validation dans la base except dm.qsql.sql.clear; DM.qsql.sql.add('rollback'); dM.qsql.execsql;//Pour annuler en ca d'echec end;
Qui peux m'expliquer pourquoi? Merci
Partager