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 :

[Liste typée] Remplir depuis base sql


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2009
    Messages
    127
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Octobre 2009
    Messages : 127
    Par défaut [Liste typée] Remplir depuis base sql
    Bonjour à tous !

    J'ai actuellement appli en C# sur laquelle j'ai fait une connexion avec ma base MYSQL ( avec mysql connector )

    Je travaille en mode connecté.

    Ma base répertorie des produits ( donc table produit, type, marque ... ) et mon appli sert à gerer ces produits.

    Je cherche à remplir une comboBox, qui représente les différentes MARQUE de produits, à partir de données de ma base MYSQL.

    J'ai donc créée une classe Marque avec les propriétés Identifiant & Libelle_marque

    Je viens de créer une " Liste<marque> liste ;"

    Et je cherche à ajouter à cette liste tous les élements de ma table catégorie pour ensuitel es ajouter à ma comboBox.

    J'utilise donc un reader mais je ne sais pas comment remplir cette liste typée ...

    Voici mon code :

    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
                List<marque> liste;
                string connString = "SERVER=localhost;" +
                        "DATABASE=Photo_fusion;" +
                        "UID=root;" +
                        "PASSWORD=;";
                //on crée notre connection MYSQL
                MySqlConnection cnMySQL = new MySqlConnection(connString);
                MySqlCommand cmdMySQL = cnMySQL.CreateCommand();
                MySqlDataReader reader;
                cmdMySQL.CommandText = "select * from marque_produit";
     
                //On ouvre la connection MYSQL
                cnMySQL.Open();
                reader = cmdMySQL.ExecuteReader();
                while (reader.Read())
                {
     
                    //need help !
     
     
                }
     
                //On ferme la connection MYSQL
                cnMySQL.Close();
    Auriez-vous une idée ?

    Cordialement,

  2. #2
    Membre confirmé
    Inscrit en
    Octobre 2009
    Messages
    127
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Octobre 2009
    Messages : 127
    Par défaut
    J'ai quelque peu avancé grâce à l'aide d'un ami

    J'ai réussi a instancié ma liste typée avec les éléments de ma base ( enfin je pense ! )

    J'essaye maintenant de remplir ma combobox depuis ma liste.

    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
     List<marque> liste;
                string connString = "SERVER=localhost;" +
                        "DATABASE=Photo_fusion;" +
                        "UID=root;" +
                        "PASSWORD=;";
                //on crée notre connection MYSQL
                MySqlConnection cnMySQL = new MySqlConnection(connString);
                MySqlCommand cmdMySQL = cnMySQL.CreateCommand();
                MySqlDataReader reader;
                cmdMySQL.CommandText = "select * from marque_produit";
     
                //On ouvre la connection MYSQL
                cnMySQL.Open();
                reader = cmdMySQL.ExecuteReader();
                liste = new List<marque>();
                while (reader.Read())
                {
     
                    marque objet = new marque(reader["ID_marque"].ToString(), reader["Libelle_marque"].ToString());
                    liste.Add(objet);
     
                }
     
                foreach(marque elem in liste)
                {
                    comboBox1.Items.Add(elem.Libelle_marque);
                }
     
     
                //On ferme la connection MYSQL
                cnMySQL.Close();

    Cependant j'ai encore l'erreur suivante :

    Object reference not set to an instance of an object.
    Sur la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    comboBox1.Items.Add(elem.Libelle_marque);
    Encore en quête de la réponse !

    Merci d'avance !

  3. #3
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Par défaut
    Bonjour,

    Le plus simple pour binder tes données est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    comboBox1.DataSource = liste;
    comboBox1.DisplayMember = "Libelle_marque";
    combobox1.ValueMember = "ID_marque";
    Sinon avoir l'exception que tu as avec le code qui est écrit pour moi, ce qui est "null" c'est combobox1 !
    Exécute en pas à pas et regarde la valeur des différents éléments.

  4. #4
    Membre confirmé
    Inscrit en
    Octobre 2009
    Messages
    127
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Octobre 2009
    Messages : 127
    Par défaut
    Hey !

    Merci pour cette aide ( je vais procédé ainsi pour avoir et le nom et la valeur !! )

    Sinon c'est à cause du fait que j'avais mis mon code avant le "initalisecomponent" dans mon code ...

    Merci beaucoup

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

Discussions similaires

  1. [Débutant] remplir une base sql chaque 1 s avec un fichier .dat
    Par djdidi2010 dans le forum C#
    Réponses: 2
    Dernier message: 25/03/2013, 13h11
  2. Réplication données depuis Base SQL Server vers Base MYSQL
    Par elspliffo dans le forum Réplications
    Réponses: 2
    Dernier message: 27/09/2007, 14h02
  3. Réplication données depuis Base SQL Server vers Base MYSQL
    Par elspliffo dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 27/09/2007, 14h02
  4. Xml Dynamique depuis base SQL
    Par GTSLASH dans le forum C#
    Réponses: 3
    Dernier message: 27/08/2007, 11h25
  5. [SQL] Remplir une base SQL à partir d'un tableau à plusieurs lignes et colonnes
    Par Yagami_Raito dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 13/08/2007, 08h56

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