transaction imbriqué et code behind
Bonjour, j'ai besoin de faire des transactions imbriquées, si cela est possible.
voilà:
Code:
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:
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