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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 174
    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 éprouvé Avatar de raOOn
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    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?

  3. #3
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 174
    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 éprouvé Avatar de raOOn
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Indre et Loire (Centre)

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


    ainsi tu verras pleins d'information serveur comme les sessions par exemple.

  5. #5
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 174
    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 éprouvé Avatar de raOOn
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    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;

  7. #7
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 174
    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...

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