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 :

[c#] Problème sessions et commandes SQL


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 174
    Points : 62
    Points
    62
    Par défaut [c#] Problème sessions et commandes SQL
    Bonjour,

    Je n'arrive pas à gérer les sessions avec mon site que je développe en asp.net et c#.

    A la fin d'une fonction, j'ai écris ce code pour sauvegarder une variable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     Session.Add("nom", zeNom.Text);
                    Response.Redirect("ajousalarie2.aspx");
    J'avais aussi essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     Session["nom"]= zeNom.Text;
                    Response.Redirect("ajousalarie2.aspx");
    Sur la page ajoutsalarie2, le champ nom de la session reste vide...

    Je n'ai pas d'erreurs de compilation.

    Merci pour votre aide.

  2. #2
    Membre régulier Avatar de raOOn
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Points : 112
    Points
    112
    Par défaut
    Bonjour,

    a tout hasard, as tu essayé ceci?

    HttpContext.Current.Session.Add();

    Si cela se trouve tu as bien mis ton objet en Session... Es-tu sur de correctement récupérer ton objet pour le test?
    -Écoute, on t'connaît pas, mais laisse nous t'dire que tu t'prépares des nuits blanches... des migraines... des "nervous breakdown", comme on dit de nos jours.
    Paul Volfoni

  3. #3
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 174
    Points : 62
    Points
    62
    Par défaut
    Citation Envoyé par raOOn
    Bonjour,

    a tout hasard, as tu essayé ceci?

    HttpContext.Current.Session.Add();

    Si cela se trouve tu as bien mis ton objet en Session... Es-tu sur de correctement récupérer ton objet pour le test?

    Non, jsutement je ne suis pas sur de bien récuperer l'objet.

    J'ai tapé ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      info.Text = Session["nom"].ToString();
    mais ça ne doit pas être ça

  4. #4
    Membre régulier Avatar de raOOn
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Points : 112
    Points
    112
    Par défaut
    ajoute dans tes page aspx ceci trace="true"


    ainsi tu verras pleins d'information serveur comme les sessions par exemple.
    -Écoute, on t'connaît pas, mais laisse nous t'dire que tu t'prépares des nuits blanches... des migraines... des "nervous breakdown", comme on dit de nos jours.
    Paul Volfoni

  5. #5
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 174
    Points : 62
    Points
    62
    Par défaut
    Réctification... ma variable de sessions passe désormais bien avec HttpContext.Current.Session.Add();

    Cela dit j'ai un autre problème touchant mes requêtes SQL. Voici le message du debogueur suite à la récuperation avec un select d'un champ d'une table :

    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
    string connexion_string = @"Data Source=W260112\SQLExpress; Integrated Security=true; AttachDbFilename=D:\Profiles\util\Mes documents\Visual Studio*2005\WebSites\Admin\App_Data\intranet2.mdf; User Instance=true;";
            SqlConnection cx;
            cx = new SqlConnection();
            String nomSalarie = Session["nom"].ToString();
     
            cx.ConnectionString = connexion_string;
            cx.Open();
            string rq2 = "select idsalarie from salarie where nom=nomSalarie";
            SqlCommand sql;
     
            sql = new SqlCommand(rq2, cx);
     
           String id_recupere = sql.ExecuteReader().ToString();
    ça coince à la dernière ligne.... il me dit que le nom de colone nomSalarie est invalide. nomSalarie contient bien une valeur (j'ai vérifié) .

  6. #6
    Membre régulier Avatar de raOOn
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Points : 112
    Points
    112
    Par défaut
    tente ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    cx.ConnectionString = connexion_string;
            cx.Open();
            string rq2 = "select idsalarie from salarie where nom='" + nomSalarie + "'";
            SqlCommand sql;
    -Écoute, on t'connaît pas, mais laisse nous t'dire que tu t'prépares des nuits blanches... des migraines... des "nervous breakdown", comme on dit de nos jours.
    Paul Volfoni

  7. #7
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 174
    Points : 62
    Points
    62
    Par défaut
    Citation Envoyé par raOOn
    tente ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    cx.ConnectionString = connexion_string;
            cx.Open();
            string rq2 = "select idsalarie from salarie where nom='" + nomSalarie + "'";
            SqlCommand sql;

    Merci ça fonctionne !

    J'ai maintenant un autre souci, décidément... Un de mes insert ne fonctionne pas. J'ai une table comme ceci : 1 champ idchef auto incrémenté en clef primaire, une clé étrangère idsalarie venant de la table salarié et un champ nom.

    Je fait le code suivant :
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
     string connexion_string = @"Data Source=W260112\SQLExpress; Integrated Security=true; AttachDbFilename=D:\Profiles\util\Mes documents\Visual Studio*2005\WebSites\Admin\App_Data\intranet2.mdf; User Instance=true;";
     
                    SqlTransaction trans = null;
                   // SqlTransaction trans2 = null;
     
                    SqlConnection cx;
                    cx = new SqlConnection();
     
                    cx.ConnectionString = connexion_string;
     
     
     
     
     
                    cx.Open();
                    trans = cx.BeginTransaction();
     
     
     
                    string rq = "insert into chef(idsalarie,nomchef) values("+id+","+nomSalarie+")";
     
                    SqlCommand sql;
     
                    sql = new SqlCommand(rq, cx);
     
     
     
                    //Paramétrage
                    sql.Parameters.Add("id", SqlDbType.VarChar, 30);
                    sql.Parameters.Add("nomSalarie", SqlDbType.VarChar, 30);
     
     
     
     
                    //Valeur des paramètres
                    sql.Parameters["id"].Value = id;
                    sql.Parameters["nomSalarie"].Value = nomSalarie;
     
     
               /*     if (TextBox.Text=="oui")
                    {*/
                        try
                        {
                            sql.Transaction = trans;
     
                            sql.ExecuteNonQuery();
     
                }
                        catch (Exception err)
                        {
                            if (trans != null)
                            {
                                trans.Rollback();
     
                            }
                        }
                        finally
                        {
                            cx.Close();
                            info.Text = "OK";
                        }
     
                    //}
                }
    et bien sur, ça ne fonctionne pas. Enfin OK s'affiche bien dans le champ info, je n'ai pas d'erreur à l'execution ni à la compil mais quand je fait un select * from chef j'obtient Null, Null, Null...

  8. #8
    Membre régulier Avatar de raOOn
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Points : 112
    Points
    112
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string rq = "insert into chef(idsalarie,nomchef) values("+id+",'"+nomSalarie+"')";
    -Écoute, on t'connaît pas, mais laisse nous t'dire que tu t'prépares des nuits blanches... des migraines... des "nervous breakdown", comme on dit de nos jours.
    Paul Volfoni

  9. #9
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 174
    Points : 62
    Points
    62
    Par défaut
    Citation Envoyé par raOOn
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string rq = "insert into chef(idsalarie,nomchef) values("+id+",'"+nomSalarie+"')";
    merci, ça ne fonctionne toujours pas mais je pense que cela doit venir du fait que j'ai mélange des string et des int

    mais je ne sais pas passer d'un objet en int...

  10. #10
    Membre éclairé Avatar de zeavan
    Architect
    Inscrit en
    Avril 2003
    Messages
    590
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Autre

    Informations professionnelles :
    Activité : Architect

    Informations forums :
    Inscription : Avril 2003
    Messages : 590
    Points : 774
    Points
    774
    Par défaut
    pour les sessions :
    --------------------
    Session["maSession"]= 5;

    recuper la session:

    int i = Session["maSession"];

    pour la conversion
    ------------------
    Object obj = 5;
    int i = Convert.ToInt32(obj);

  11. #11
    Membre régulier Avatar de raOOn
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Points : 112
    Points
    112
    Par défaut
    Citation Envoyé par zeavan
    pour les sessions :
    --------------------
    Session["maSession"]= 5;

    recuper la session:

    int i = Session["maSession"];

    pour la conversion
    ------------------
    Object obj = 5;
    int i = Convert.ToInt32(obj);

    je pense que pour récupérer une session, il faut caster

    exemple: int i = (int)Session["..."]
    -Écoute, on t'connaît pas, mais laisse nous t'dire que tu t'prépares des nuits blanches... des migraines... des "nervous breakdown", comme on dit de nos jours.
    Paul Volfoni

Discussions similaires

  1. SQl via VBA: problème avec objet "Command"
    Par MGA_macro dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 14/05/2014, 22h26
  2. Problème commande SQL SELECT
    Par Quentin.vdv dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 09/10/2012, 19h53
  3. commande sql et élément Session
    Par makin_toch dans le forum ASP.NET
    Réponses: 10
    Dernier message: 31/05/2011, 18h21
  4. [FoxPro] Problème commande SQL dans le FoxPro 9.0
    Par supersoft5 dans le forum Autres SGBD
    Réponses: 0
    Dernier message: 05/12/2010, 17h48
  5. [dBase]il y a mieux que la commande sql UPDATE ?
    Par sana72 dans le forum Autres SGBD
    Réponses: 4
    Dernier message: 12/12/2002, 11h59

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