Bonjour, j'ai besoin de faire des transactions imbriquées, si cela est possible.
voilà:
seulement voilà quand je fais mon insert A, il faut que j'insère aussi dans la table B, etant donné que les 2 tables sont reliés, il me faudrait une nouvelle transaction, propre à l'enregistrement de A, c'est là que je ne sais pas quoi faire
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 myFac.GetConnection().Open(); DbTransaction trans = myFac.BeginTransaction(myFac.GetConnection()); try { Insert A(trans) //InsertB() //Update(trans) myFac.CommitTransaction(trans); } catch (Exception ex) { myFac.RollbackTransaction(trans); SessionUtilsCommun.MessageAlerte = Resources.Dictionnaire.MAJEchoue + " : " + ex.Message; } finally { myFac.GetConnection().Close(); } }
Est ce que quelqu'un peut me dire comment je peux faire cela.Merci
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
22
23
24
25 private void TableA(DbTransaction trans) { //myFac.GetConnection().Open(); DbTransaction trans2 = myFac.BeginTransaction(myFac.GetConnection()); try { //ma requete(trans2) cmdInsert.ExecuteNonQuery(); //int toto = Convert.ToInt32(cmdSelect.ExecuteScalar()); myFac.CommitTransaction(trans2); CreerHistoriqueActionReunion("YRU000000001", row[0].ToString(), trans); } } } catch (Exception ex) { myFac.RollbackTransaction(trans2); SessionUtilsCommun.MessageAlerte = Resources.Dictionnaire.MAJEchoue + " : " + ex.Message; } /*finally { myFac.GetConnection().Close(); }*/ }
Partager