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 :

Récupérer valeur DropdownList et afficher dans Label !


Sujet :

C#

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 147
    Points : 61
    Points
    61
    Par défaut Récupérer valeur DropdownList et afficher dans Label !
    Bonjour,

    J'ai développé un formulaire dans lequel l'utilisateur sélectionne un produit dans une DropDownList. Une fois le produit sélectionné, je souhaiterai afficher son prix correspondant dans un label mais je n'y arrive pas.

    Voilà ce que j'ai fait mais ça ne marche pas
    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
     
    /* Affichage du prix du produit sélectionné */
        public void prixProduit()
        {
            /* Connexion à la base de données SQL Server */
            string myConnectString = "user id=sa;password=stri;initial catalog=master;data source=PC-DE-LENOU;Connect Timeout=30";
            SqlConnection myConnection = new SqlConnection(myConnectString);
            myConnection.Open();
     
            /* Rechercher si produit en promotion ou non */
            SqlCommand promprod = new System.Data.SqlClient.SqlCommand("select Prom_prod from produit where id_prod='" + DropDownList1.SelectedValue + "'", myConnection);
            System.Data.SqlClient.SqlDataReader readerprom = promprod.ExecuteReader();
            readerprom.Read();
            //DropDownList1.Text = readerprom["Prom_prod"].ToString();
            Boolean b = readerprom.GetBoolean(0);
     
            /* Produit hors promotion */
            if (!b)
            {
                readerprom.Close();
                SqlCommand commande = new System.Data.SqlClient.SqlCommand("select Prixht_prod from produit where id_prod='" + DropDownList1.SelectedValue + "'", myConnection);
                System.Data.SqlClient.SqlDataReader reader = commande.ExecuteReader();
                reader.Read();
                this.Label20.Text = reader.GetValue(0).ToString();
                //Label3.Text = DropDownList1.SelectedItem.Value.ToString();
                reader.GetValue(0).ToString();
            }
            /* Produit en promotion */
            else
            {
                readerprom.Close();
                SqlCommand commande = new System.Data.SqlClient.SqlCommand("select Prixhtprom_prod from produit where id_prod='" + DropDownList1.SelectedValue + "'", myConnection);
                System.Data.SqlClient.SqlDataReader reader = commande.ExecuteReader();
                reader.Read();
                //Label3.Text = DropDownList1.SelectedItem.Value.ToString();
                Label20.Text = reader.GetValue(0).ToString();
            }
        }

    Une erreur apparait au niveau : Boolean b = readerprom.GetBoolean(0);
    Tentative non valide de lecture lorsque aucune donnée n'est présente.

  2. #2
    Nouveau membre du Club
    Inscrit en
    Août 2002
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 25
    Points : 37
    Points
    37
    Par défaut
    Bonjour,

    Ton reader semble vide, es tu sur que ta requête te renvoie une ligne ?
    Il faudrait tester le nb d'enregistrement renvoyé par ton reader.
    Si tu souhaites n'avoir accès qu'à une seule valeur d'une seule ligne, utilise plutôt ExecuteScalar().
    Pour un code plus robuste et surtout plus propre, penses aussi à utiliser les rêquetes paramètrées

  3. #3
    Membre expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Points : 3 543
    Points
    3 543
    Par défaut
    Cela veut dire que ta commande n'a rien ramené comme résultat..

    La méthode Read() te retourne un booléen qui vaut true s'il y a un résultat.

    Tu peux donc effectuer le test suivant avant de poursuivre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(readerprom.Read())
    {    
    Boolean b = readerprom.GetBoolean(0);
    }
    Si ton problème a une solution, rien ne sert de t'inquiéter..
    Si il n'en a pas, t'inquiéter ne sert à rien


Discussions similaires

  1. Réponses: 25
    Dernier message: 10/06/2014, 14h47
  2. Réponses: 7
    Dernier message: 03/03/2009, 08h07
  3. [c#]récupérer valeur d'un TextBox dans un Repeater
    Par Filippo dans le forum ASP.NET
    Réponses: 1
    Dernier message: 20/03/2007, 10h48
  4. [MySQL] récupérer valeur d'une variable dans une autre table
    Par Tee shot dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 15/03/2007, 22h07
  5. récuperer une valeur et l'afficher dans un input
    Par popy29 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/12/2005, 16h49

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