Bonjour,
N'ayant pas trouvé d'exemples assez détaillés sur le net, je me permets de faire à nouveau appel à vous pour obtenir de plus amples renseignements sur la gestion des transactions sous Firebird !
L'appli que je suis en train de développer étant destinée à être multi-utilisateur, me voilà plongée en plein dans le monde des transactions !
En parcourant le forum et la faq, j'ai pu comprendre que la bonne vieille méthode : un composant TIBDataBase, un composant TIBTransaction et tous les DataSet connectés à la même transaction était loin de permettre de tirer profit au maximum de Firebird !
Ainsi je me permets de poster ici la méthode que j'emploies actuellement afin que vous puissiez me donner vos avis éclairés...
Exemple :
Une première fenêtre présente une DbGrid contenant la liste des clients. Sur l'évènement FormShow, j'exécute le code suivant :
Sur l'événement OnClick du DbGrid, j'ouvre une autre fenêtre contenant la "fiche" du client sélectionné, on associe à cet événement le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2DMPrincipal.IBTransaction.StartTransaction; DMprincipal.IBDataSetCLIENTS.Open;
Ensuite lors de la fermeture de la fiche client, la transaction est à nouveau fermée, puis rouverte afin de "recharger" le DBgrid.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 DMprincipal.IBTransaction.Commit; DMprincipal.IBTransaction.StartTransaction; DMprincipal.IBDataSetClient.ParamByName('numclient').AsInteger := NumClient; DMPrincipal.IBDataSetClient.Open; FClient.NumClient := NumClient; FClient.ShowModal;
Voilà, je souhaiterai savoir ce que vous pensez de cette manière de fonctionner?
De plus, si vous avez des exemples de code utilisant les transactions, n'hésitez pas!
Merci d'avance pour votre aide..
Partager