Bonjour,
ci dessous un code qui contient deux requetes SQL avec une transaction
pourquoi en generant une exception dans la deuxieme requete(UPDATE COMMANDE ..) la premiere requete (Insert Into FACTURES...) s'execute et insert dans la table Facture alors que le principe de la transaction tous ou rien !?
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
19
20
21 try if not dm.IBTransaction2.InTransaction then dm.IBTransaction2.StartTransaction; LeCft:=DM.GetCpt('FACTURES'); if not DM.Isrt_Updt( ' Insert Into FACTURES '+ ' (ID_FACT,DATE_FACT,TYPE_F,TYPE_V)'+ ' values('''+IntToStr(LeCft)+''' '+ ','+QuotedStr(formatDateTime('yyyy-mm-dd',now()))+','+ ' 1,1)') then showmessage('COMMANDE not FACTURER....') else showmessage('COMMANDE FACTURER SOUS N° FA'+IntToStr(LeCft)+'...!'); DM.Isrt_Updt( 'UPDATE COMMANDE SET ID_FACT= '''+IntToStr(LeCft)+''' WHERE CODE_COM='''+QRA.FieldValues['CODE_COM']+''' '); dm.IBTransaction2.Commit except dm.IBTransaction2.Rollback end;
delphi7,firebird 2.1.1,IBX,Windows XP
Partager