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 :

Remplir un combobox avec une base de donnée


Sujet :

C#

  1. #1
    Membre du Club Avatar de tomenbois
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 76
    Points : 61
    Points
    61
    Par défaut Remplir un combobox avec une base de donnée
    Bonjour, voila j'ai un combobox qui liste tout les pays du monde a partir d'une base de donnée, voici mon bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    private void comboBoxPays_SelectedIndexChanged(object sender, EventArgs e)
            {
                SQLiteCommand requete = SQL_Conn.CreateCommand();
                requete.CommandText = " Select pays From Pays; ";
                SQLiteDataReader nompays = requete.ExecuteReader();
                while (nompays.Read())
                {
                    comboBoxPays.Items.Add(nompays["pays"]);
                }
    Mais sa marche pas. Je pense que la requete ne s'execute pas, si c'est le cas où dois-je la mettre pour qu'elle s'execute automatiquement a l'ouverture du winform ?

  2. #2
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Pour commencer pourquoi le chargement de la combo est sur l'event SelectedIndexChanged ?
    Désolé, mais ça n'a aucun sens. Pour que le SelectedIndexChanged soit appelé il fait que la Combo ait un contenu; quand bien même serait ce le cas, j'imagine mal pourquoi tu devrais recharger le contenu quand l'utilisateur sélectionne une entrée.

    Sinon, a priori,une table pays ne change pas tous les quatre matins, et je ne vois aucune utilité à la recharger à chaque fois.


    Ensuite, déjà mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nompays["pays"].ToString()
    Puis, à quoi sert le ; en fin de select ????

    Quand tu dis que cela ne marche pas, c'est un peu vague. Ca pête ? ça ne retourne rien ? tu ne rentres pas dans ta boucle ? sois un peu plus précis, SVP.

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  3. #3
    Membre éprouvé
    Avatar de neilbgr
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2004
    Messages
    651
    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 : Août 2004
    Messages : 651
    Points : 1 177
    Points
    1 177
    Par défaut
    Renseigne toi sur les propriétés DataSource, DisplayMember, ValueMember et le DataBinding en général...
    "Si vous voulez être l’esclave des banques et payer pour financer votre propre esclavage, alors laissez les banquiers créer la monnaie" - Josiah Stamp, 1920, Gouverneur de la Banque d’Angleterre
    "Qui ne peut acheter ruine qui voudrait vendre" - Jacques Duboin.
    "Nous n'héritons pas la terre de nos parents, nous l'empruntons à nos enfants." - Antoine de Saint Exupéry

  4. #4
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Heu si je ne me trompe pas le SelectedIndexChanged c'est pour executer du code à chaque fois que "l'index selectionné a été changé"

    Mais la ta combo est vide donc tu ne peux pas la changer et donc ta requête ne s'exécute pas.
    De toute façon c'est du code d'initialisation de combobox.

    La combobox fonctionne comme une liste, si tu veux lui ajouté des items dès le départ, bah le mieux c'est juste après la création de l'objet en question.

    C'est une phase d'initialisation, tu as bien une méthode d'initialisation de tes objets winform quelque part non ?

    Edit : Me suis fait devancer par deux personnes

    Edit2 : Dites, avec tant de personne qui viennent critiquer son code (à juste titre), lui conseiller de revoir le fonctionnement de base d'une combo, il ne risque pas d'avoir peur ? En même temps on ne peut pas le laisser utiliser un code qui ne fonctionne pas
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  5. #5
    Membre du Club Avatar de tomenbois
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 76
    Points : 61
    Points
    61
    Par défaut
    oua j'en prend plein en peu de temps !!!

    Désolé, je commence le c#.

    Mais j'ai resolu le probléme. Il falait faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    private void Nouveau_Load(object sender, EventArgs e)
            {
                SQLiteCommand requete = SQL_Conn.CreateCommand();
                requete.CommandText = " Select pays From Pays; ";
                SQLiteDataReader nompays = requete.ExecuteReader();
                while (nompays.Read())
                {
                    comboBoxPays.Items.Add(nompays["pays"]);
                }
            }
    merci, de votre aide.

    et pour repondre a Bluedeep, le ";" n'est pas obligatoire donc que je le mette ou pas sa change rien.

  6. #6
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    je te conseille de suivre la recommandation de BlueDeep :
    Ensuite, déjà mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nompays["pays"].ToString()
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  7. #7
    Membre du Club Avatar de tomenbois
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 76
    Points : 61
    Points
    61
    Par défaut
    Qu'est ce que sa change ?

    je te conseille de suivre la recommandation de BlueDeep :


    Ensuite, déjà mettre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nompays["pays"].ToString()

  8. #8
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Cela ne te renvois pas forcement un string. Si cela fonctionne comme les ListDictionnary, cela te renvois une valeur de type Object.

    C'est mieux de la retypé en string des l'ajout dans la combobox. Car même si elle peut lister des objets, lorsque tu voudra manipuler un item de la combo, ce sera un objet et tu seras peut être obligé de te faire un cast en string.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  9. #9
    Membre du Club Avatar de tomenbois
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 76
    Points : 61
    Points
    61
    Par défaut
    OK, en gros c'est du confort. Sympa, merci pour l'astuce.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 105
    Points : 59
    Points
    59
    Par défaut
    Bonjour,
    J'ai eu le même problème c'est à dire que j'essaye de remplir ma combobox, j'ai donc utilisé ton bout de code.

    Pourrait-tu me dire comment déclarer SQLiteCommand, SQLiteDataReader et surtout à quoi correspond ton SQL_Conn.

    Merci

  11. #11
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    A mon avis SQL_Conn est l'objet SqlConnexion (pas sur du nom je fait pas d'accés au BD)

    Un objet de ce genre est présent dans tous les langages pour permettre la connexion à une BD.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  12. #12
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par ced600 Voir le message
    Un objet de ce genre est présent dans tous les langages pour permettre la connexion à une BD.
    Ce n'est pas lié au langage, mais au framework.

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 105
    Points : 59
    Points
    59
    Par défaut
    Merci

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

Discussions similaires

  1. Remplir ListView avec une base de données
    Par Boris56 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 10/05/2012, 12h40
  2. [PDF] Remplir un formulaire PDF avec une base de données
    Par psgkiki dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 31/03/2009, 16h40
  3. Réponses: 6
    Dernier message: 30/05/2008, 11h46
  4. Remplir un ArrayList avec une base de données
    Par mout551 dans le forum ASP.NET
    Réponses: 10
    Dernier message: 31/07/2007, 15h43

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