Bonjour, j'ai besoin de faire des transactions imbriquées, si cela est possible.
voilà:
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();
        }
    }
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
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();
        }*/
    }
Est ce que quelqu'un peut me dire comment je peux faire cela.Merci