Bonjour,
J'utilise les DBExpress.
j'ai besoin de faire une transaction à l'intérieur d'une autre transaction.
et dans le traitement de Inserer
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 TD: TTransactionDesc; TD2: TTransactionDesc; ... DMDatabase.SQLConnectionLocal.StartTransaction(TD); try Inserer; DMDatabase.SQLConnectionLocal.Commit(TD); except DMDatabase.SQLConnectionLocal.Rollback(TD); raise; end;
Est-il possible de réaliser 2 transactions imbriquées sans avoir de deadlock ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 ... // DMDatabase.SQLConnectionLocal.StartTransaction(TD2); try ModifierMesInfo; Valeur := GetMaValeur; DMDatabase.SQLConnectionLocal.RollBack(TD2); except DMDatabase.SQLConnectionLocal.Rollback(TD2); raise; end; ...
Partager