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:

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;
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é.
Qui peux m'expliquer pourquoi? Merci