Bonjour,
Dans une fonction je lance une transaction puis je fait une requête qui marche et ensuite je lance une fonction qui fait des requête mais la qu'une requête sur les deux est prise en compte :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
//Debut de la transaction
OleDbTransaction  transacInsert = Utility.Connection.BeginTransaction();
...
OleDbCommand cmd = new OleDbCommand(sSQL, Utility.Connection);
cmd.Transaction=transacInsert;
...

DataAccess.AjoutPJ(.....);
......
transacInsert.Commit();
Dans AjoutPJ seule la requête insert est prise en compte :

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
sSQL = "insert into piecejointe values(........)";
OleDbCommand cmd = new OleDbCommand(sSQL, Utility.Connection);
try 
{
	cmd.ExecuteNonQuery();
} 
catch(Exception e) 
{
        return false;
}
sSQL = "update bugs set piecejointe_id="+piecejointe_id+" where bug_id='"+id_bug+"'";
cmd = new OleDbCommand(sSQL, Utility.Connection);
try 
{
	cmd.ExecuteNonQuery();
} 
catch(Exception e) 
{
	return false;
}
Les 2 command dans cette fonction ne sont pas assignés à la transaction courante mais pourtant une des 2 requête est prise en compte. J'aimerai que les 2 soit prise en comptes.

Si vous avez des idées, n'hesitez pas.
Merci de vos réponses