IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

requête sql non prise en compte dans une transaction


Sujet :

C#

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 161
    Points : 77
    Points
    77
    Par défaut requête sql non prise en compte dans une transaction
    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

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Points : 1 561
    Points
    1 561
    Par défaut
    bienvenue dans le petit monde des problemes avec les transactions.

    Moi j'ai un probleme dans le meme genre avec les transactions, remarque ca marche pas mieux sans lol

    Enfin dans la mesure ou j'ai le meme probleme aussi, cette solution m'interesse.

Discussions similaires

  1. [VxiR2] Jointure entre 2 tables non prise en compte dans requête BO
    Par Geo55 dans le forum Designer
    Réponses: 3
    Dernier message: 10/06/2011, 17h37
  2. [Turbo Pascal] Non prise en compte d'une instruction dans une boucle
    Par step177 dans le forum Turbo Pascal
    Réponses: 4
    Dernier message: 27/10/2010, 19h33
  3. [SQL] Requête SQL non prise en compte
    Par Petit bateau dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 16/07/2007, 10h43
  4. [Requête/SQL]ajouter un champ calculé dans une table
    Par zougna dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 17/04/2007, 19h09
  5. [Requête/SQL]Calcul d'un solde dans une requête ou un état
    Par alalau dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 13/04/2007, 16h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo