Bonjours à tous,

j'ai besoin de votre aide pour gérer les transactions dans un programme de gestion Client-Serveur (BDD =Firebird 3). J'utilise Firedac sur Delphi XE7
Voici la structure de gestion des transactions que j'ai mis en place
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
try
 result :=true
 datamodule.TFDTransaction.StartTransaction;
    requête insertion/update/Delete
 datamodule.TFDTransaction.commit;
Except
  result :=false;
  datamodule.TFDTransaction.Rollback; 
  raise
 end;
La transaction fonctionne mais en cas de problème (plante du système) ou arrêt anormale de l'application, toutes les données saisies sont perdues.
comment mettre en place un dispositif de gestion des transactions efficace

En outre voici les propriétés du composant TFBTransction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
isolation : xiReadCommitted
autocommit =true
autostart =true
autostop = true
params : vide
Merci de votre aide