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

ASP.NET Discussion :

SQLtransaction en asp.net


Sujet :

ASP.NET

  1. #1
    Membre éprouvé
    Inscrit en
    Septembre 2007
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 137
    Par défaut SQLtransaction en asp.net
    Bonjour, j'ai un petit souci que je comprends pas.

    J'effectue une transaction à l'aide de SQLTransaction.
    dont voilà le code
    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
    26
    27
    28
    29
     
    //On met la date et l'heure de création dans les champs adéquats
                    txbDateCreation.Text = DateTime.Now.ToString("dd/MM/yyyy");
                    txbADateCreation.Text = DateTime.Now.TimeOfDay.ToString().Substring(0, 8);
                    //On met le num du rapport
                    txbNumRapport.Text = procRapp.DefNumRapport(hfCentre.Value);
                    lblRapportEntete.Text = "Rapport n° " + txbNumRapport.Text;
                    SessionUtilsRapport.LossID = txbNumRapport.Text;
                    //requete d'enregistrement dans la base du rapport!!!
                    myFac.GetConnection().Open();
                    DbTransaction trans1 = myFac.BeginTransaction(myFac.GetConnection());
                    try
                    {
                        InsertEntete(trans1);
                        InsertDeclaration(trans1);
                        myFac.CommitTransaction(trans1);
                        SessionUtilsCommun.MessageAlerte = Resources.Dictionnaire.EnregistrementOK;
                        Response.Redirect("~/Default7.aspx?LossID=" + SessionUtilsRapport.LossID);
                    }
                    catch (Exception ex)
                    {
                        myFac.RollbackTransaction(trans1);
                        string message = Resources.Dictionnaire.EnregistrementEchoue + " : " + ex.Message;
                        SessionUtilsCommun.MessageAlerte = Resources.Dictionnaire.EnregistrementEchoue + " : " + ex.Message;
                    }
                    finally
                    {
                        myFac.GetConnection().Close();
                    }
    DAns InsertEntete(trans1) je fais un ExecuteNonQuery, de meme dans InsertDeclaration(trans1).
    Tout se passe bien, l'enregistrement s'effectue, seulement voilà, il passe dans le catch et fais un rollback. Donc je ne comprends pas ce truc. Est ce du au Response.redirect.

    L'erreur est SQLTransaction est terminé, il n'est plus accessible!!!

    Merci de votre aide

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Oui c'est le Response.Redirect.
    Sors le du Try Catch

  3. #3
    Membre éprouvé
    Inscrit en
    Septembre 2007
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 137
    Par défaut
    Bien joué Lutecefalco. Je pensais bien que c'était celui là que faisais le bordel, par contre le jour où le catch est appelé, est ce qu'il va quand même faire le redirect?
    Parce que dans mon cas, il faut qu'il reste sur la page actuelle??

  4. #4
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Citation Envoyé par tortuegenie Voir le message
    Bien joué Lutecefalco. Je pensais bien que c'était celui là que faisais le bordel, par contre le jour où le catch est appelé, est ce qu'il va quand même faire le redirect?
    Parce que dans mon cas, il faut qu'il reste sur la page actuelle??
    Si tu fais rien oui.
    Après tu peux utiliser un boolean isSuccess que tu mets à true si tout est ok ou à false dans le catch

    Puis un if(isSuccess) redirect

  5. #5
    Membre éprouvé
    Inscrit en
    Septembre 2007
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 137
    Par défaut
    C'est ce que j'ai fais en attendant le post suivant. C'est quand meme dommage quelque part de passer par un booleen pour faire cela, mais bon s'il n'y a pas le choix, on fait comme cela.

    En tout cas merci Lutecefalco pour m'avoir confirmer les choses.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Choisir PHP ou ASP.NET ?
    Par discogarden dans le forum Général Conception Web
    Réponses: 81
    Dernier message: 31/12/2009, 18h11
  2. [CR][ASP.NET] Impression en format "paysage"
    Par David.V dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 24/04/2004, 22h56
  3. [CR][ASP.NET] Problème d'affichage du rapport
    Par David.V dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 20/04/2004, 12h39
  4. [CR][ASP.NET] Un champ avec plusieurs polices...
    Par David.V dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 08/04/2004, 14h19
  5. Driver postgre pour asp.net
    Par vonbier dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 02/10/2003, 13h35

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