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 :

Probleme d'affiche du Combobox


Sujet :

C#

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2011
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Probleme d'affiche du Combobox
    Bonjour a tous

    Je suis entrain de faire un gestion d'un stock avec une base de donnees sql server

    j'ai une table dans sql = produit avec des attribut Nproduit , stock

    j'ai fait un text label qui change selon le choix du combobox



    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
    private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
            {
                string s = ;
                string str = "Data source = localhost;initial catalog =stock;integrated security=true";
                string sql = "Select stock from produit where Nproduit = Convert.ToString( comboBox1.SelectedItem) ";
                SqlConnection oCon = new SqlConnection(str);
                oCon.Open();
                SqlCommand oCom = new SqlCommand(sql, oCon);
                SqlDataReader Dr;
                
                Dr = oCom.ExecuteReader();
    
                while (Dr.Read())
                {
                    label6.Text=(Dr[0].ToString());
                }
                oCon.Close();
                
            }
    le probleme est dans la partie souligné

  2. #2
    Membre habitué Avatar de bibbi
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    113
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 113
    Points : 137
    Points
    137
    Par défaut
    Salut,

    Quel est le problème? Tu as une erreur?

  3. #3
    Membre éprouvé
    Avatar de Gurdil le nain
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 468
    Points : 1 111
    Points
    1 111
    Par défaut
    Ta ligne souligné est fausse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string sql = "Select stock from produit where Nproduit = Convert.ToString( comboBox1.SelectedItem) ";
    Ton code Convert.ToString() est entre guillemets, donc pas exécuté.
    Il faudrait faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string sql = "Select stock from produit where Nproduit = " + Convert.ToString( comboBox1.SelectedItem) ;

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2011
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Gurdil le nain

    j'ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string sql = "Select stock from produit where Nproduit = " + Convert.ToString( comboBox1.SelectedValue);
    Il y'a tjrs un probleme cette fois c'est (Syntaxe incorrecte vers "=")

    Merci bcp pour ton aide

  5. #5
    Membre habitué Avatar de bibbi
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    113
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 113
    Points : 137
    Points
    137
    Par défaut
    Pourquoi tu ne fais pas juste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    string sql = "Select stock from produit where Nproduit = " + comboBox1.SelectedValue.ToString();
    plutôt que de passer par un Convert qui risque de planter.

    Ensuite pour ton erreur, essaye de debugger en pas à pas et regarde le contenu de ta variable sql après le remplissage.

  6. #6
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2010
    Messages : 9
    Points : 12
    Points
    12
    Par défaut
    Bonsoir,

    Il manque les ' autour de la valeur récupérée de ta combobox, ton erreur près du "=" vient de là. Si tu ne les mets pas ta valeur n'est pas interprétée comme étant du texte mais comme étant un nom de champ ou autre...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string sql = "SELECT stock FROM produit WHERE Nproduit = '" + Convert.ToString(comboBox1.SelectedItem) + "'";
    Au passage tu peux simplifier la lecture du résultat, étant donné que tu ne reçois qu'une valeur tu peux utiliser "ExecuteScalar()" qui récupère la première colonne de la première ligne récupérée.

    Au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dr = oCom.ExecuteReader();
    while (Dr.Read())
    {
         label6.Text=(Dr[0].ToString());
    }
    Tu peux écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dr = oCom.ExecuteScalar();
    Dr.Read();
    label6.Text=Dr[0].ToString();
    Ou encore ne pas utiliser de SqlDataReader du tout:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    label6.Text=oCom.ExecuteScalar().ToString();
    Dernière chose si tu utilises un SqlDataReader, n'oublie pas aussi de le fermer, car cela risque de créer des erreurs dans la suite de ton code.

    Bonne soirée.

Discussions similaires

  1. [c#]Nouveau probleme avec dataset et combobox
    Par misa dans le forum Windows Forms
    Réponses: 2
    Dernier message: 11/05/2006, 10h37
  2. []probleme affichage valeur dans combobox
    Par gup dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 23/09/2005, 09h22
  3. [LG] Problème pour afficher une matrice
    Par phoebee dans le forum Langage
    Réponses: 4
    Dernier message: 11/08/2005, 21h41
  4. Problème pour afficher un format date dd/MM/yy HH:mm
    Par indy3 dans le forum Hibernate
    Réponses: 5
    Dernier message: 29/03/2005, 10h45
  5. [TP][MULTI-PROBLEME]Comment afficher des images pcx
    Par mikoeur dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 24/10/2002, 13h57

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