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 :

Problème affichage dans combobox


Sujet :

C#

  1. #1
    Membre du Club
    Homme Profil pro
    Etudiant
    Inscrit en
    Décembre 2012
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 89
    Points : 60
    Points
    60
    Par défaut Problème affichage dans combobox
    Bonjour,

    Je débute en c# et je suis confronté à un problème, en fait je récupère mes données dans une base mysql et je souhaiterais remplir ma combobox. Alors elle se remplit bien mais que de "WindowsFormsApplication1.DBConnect"

    J'ai suivi ce tuto pour créer ma connexion à ma base Mysql http://www.codeproject.com/Articles/...ect-C-to-MySQL

    Je comprend pas ce que je fais de mal..

    Voici ma methode qui recupere mes données :

    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
     public List<string>[] SelectDep()
            {
                string query = "SELECT * FROM departement";
     
                //Create a list to store the result
                List<string>[] list = new List<string>[1];
                list[0] = new List<string>();
               // list[1] = new List<string>();
     
                //Open connection
                if (this.OpenConnection() == true)
                {
                    //Create Command
                    MySqlCommand cmd = new MySqlCommand(query, connection);
                    //Create a data reader and Execute the command
                    MySqlDataReader dataReader = cmd.ExecuteReader();
     
                    //Read the data and store them in the list
                    while (dataReader.Read())
                    {
                        list[0].Add(dataReader["departement_code"] + "");
                        //list[1].Add(dataReader["departement_nom"] + "");
                    }
     
                    //close Data Reader
                    dataReader.Close();
     
                    //close Connection
                    this.CloseConnection();
     
                    //return list to be displayed
                    return list;
                }
                else
                {
                    return list;
                }
            }
            public int Count()
            {
                string query = "SELECT Count(*) FROM departement";
                int Count = -1;
     
                //Open Connection
                if (this.OpenConnection() == true)
                {
                    //Create Mysql Command
                    MySqlCommand cmd = new MySqlCommand(query, connection);
     
                    //ExecuteScalar will return one value
                    Count = int.Parse(cmd.ExecuteScalar() + "");
     
                    //close Connection
                    this.CloseConnection();
     
                    return Count;
                }
                else
                {
                    return Count;
                }
            }
    Le parcours de ma liste et le remplissage de ma combobox :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     DBConnect test = new DBConnect();
                test.SelectDep();
                for (int i = 0; i < test.Count(); i++) {
                  search_combobox_dep.Items.Add(test);
     
                }
    Pouvez-vous m'aider Svp ??

    Je vous remercie d'avance

  2. #2
    Membre chevronné
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 640
    Points : 2 149
    Points
    2 149
    Par défaut
    Bonjour,

    c'est normal , tu ajoutes ton objet de type DBConnect tout entier dans la ComboBox , alors que c'est plutot avec ta variable "list" qu'il faudrait remplir la ComboBox , car elle représente les résultats de ta requête.Ca donnerait quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      DBConnect test = new DBConnect();
     List<string> resultats = test.SelectDep()[0]; // ici on récupère directement ta variable "list"
     
    for (int i = 0;i < resultats.Count;i++)
    {
        search_combobox_dep.Items.Add(resultats[i]); // on parcours les résultats
    }
    Je te conseille aussi de simplifier ta méthode SelectDep() , avec le tableau de List , qui me parait un peu inutile dans ton cas vu que tu en instancie et utilise qu'une seule.
    Dans le tuto , le codeur avait fait ça pour récupérer de multiples colonnes dans une seul méthode.

  3. #3
    Membre du Club
    Homme Profil pro
    Etudiant
    Inscrit en
    Décembre 2012
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 89
    Points : 60
    Points
    60
    Par défaut
    Merci beaucoup !!!

    Je pensais que mon objet test serait directement de type list
    En tout cas merci pour ton aide, oui je vais simplifier la méthode selectdep(), mais je voulais d'abord tout faire marcher (un peu bête quand même je suis)

    Merci

    Et admettons que j'ai besoin de me servir comme sur le tuto de plusieurs entrée, comment faire pour le récupérer ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    List<string> resultats = test.SelectDep()[0]; // ici on récupère directement ta variable "list"
             List<string> nom = test.SelectDep()[1];
                for (int i = 0; i < resultats.Count; i++)
                {
                    search_combobox_dep.Items.Add(resultats[i],nom[i]); // on parcours les résultats
                  }

  4. #4
    Membre chevronné
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 640
    Points : 2 149
    Points
    2 149
    Par défaut
    Il faudrait que tu modifies la méthode SelectDep() pour en faire quelque chose de plus générale.

    Mais dans le tuto , je ne comprends pas trop pourquoi il n'a pas utilisé un DataSet pour récupérer les résultats de la requête , ce qui est plus facile et plus propre.

  5. #5
    Membre du Club
    Homme Profil pro
    Etudiant
    Inscrit en
    Décembre 2012
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 89
    Points : 60
    Points
    60
    Par défaut
    Merci pour la réponse,
    Oui un Dataset mais je n'ai pas trouvé de tuto expliquant comment s'en servir, et surtout je suis tombé sur deux trois postes ou ils disent qu'il faut installer mysqlconnector, mais à chaque fois que je tente de l'installer j'ai un problème avec le framework.

  6. #6
    Membre chevronné
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 640
    Points : 2 149
    Points
    2 149
    Par défaut
    Tes requêtes réussissent sans le MySqlConnector installé ?

    Tu utilises quelle version du framework ?

  7. #7
    Membre du Club
    Homme Profil pro
    Etudiant
    Inscrit en
    Décembre 2012
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 89
    Points : 60
    Points
    60
    Par défaut
    Merci,
    Oui mes requêtes fonctionnes, je sais pas dans le tuto plus haut j'ai installé un programme.
    J'utilise le Framework 4.5

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

Discussions similaires

  1. Réponses: 15
    Dernier message: 11/09/2007, 18h36
  2. Réponses: 2
    Dernier message: 28/08/2007, 17h12
  3. [FLASH MX2004] Pb affichage dans ComboBox
    Par didier974 dans le forum Flash
    Réponses: 1
    Dernier message: 09/02/2007, 21h45
  4. problème affichage dans une page html
    Par ljoly dans le forum Flash
    Réponses: 6
    Dernier message: 22/09/2006, 16h57

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