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

Composants Java Discussion :

[JComboBox] Remplir à partir d'un ResultSet


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2005
    Messages : 153
    Par défaut [JComboBox] Remplir à partir d'un ResultSet
    Salut ,

    Je voudrais remplir une combo box à partir d'un resultSet qui contient le réultat d'une requête sql. Ce résultat est une seule colonne contenant des string. Comment afficher ces string dans la combo box?
    Voilà ce que g fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    List resultSet = results.getResults();
    List m_Model = new ArrayList();
     
              for(int i=1; i<=resultSet.size(); i++) {
                   m_Model.add(resultSet.get(i)) ;
                  System.out.println(m_Model.get(i));
                  comboBox.(m_Model.get(i));
              }
    J'ai mis le résultat dans une arraylist puis je l'affiche.

    L'instruction System.out.println(m_Model.get(i)) fonctionne car il caste l'objet et le convertit en string pour l'afficher
    Mais le pb se pose au niveau de la combo, il refuse de convertir l'objet en String et je voudrais savoir comment faire.

    Merci de votre aide

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 77
    Par défaut reponse
    // as-tu essayé :

    Connection con = DriverManager.getConnection(url, user, password);

    Statement st = con.createStatement();
    String query = "Select * from TRUC;";
    ResultSet rs = st.executeQuery(query);

    while(rs.next())
    {
    conbobox.addItem(rs.getString(1));
    }

    // j'espère que çà t'aidera, je reste en ligne

  3. #3
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 18
    Par défaut
    salut..
    rien de bien compliquer

    tu peu initialiser un jcombobox avec une liste de string..
    moi je ferais ca..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    JComboBox service = null;
    MyConnector conn = new MyConnector();//provient de ma classe connexion
    conn.etablirConnection();
    String[] listServ = conn.getService();//qui me renvoit un tableau de string
    je te file aussi le code de mon getService pour que tu terende bien compte..
    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
    public String[] getService()
    	{
    		String[] str = null;
    		int it = 0;	
    		try
    		{
    			rs = getRsOfQuery(	"SELECT nomService " +
    								"FROM service;"
    								);	
    			int nbLine = getLineCount(rs);
    			str = new String[nbLine];
    			System.out.println("DEBUG --- nb nomService :" + nbLine + "\n");
    			while (rs.next())
    			{
    				str[it++] = rs.getString("nomService");
    			}
    		} catch (SQLException e)
    		{
    			JOptionPane.showMessageDialog(null,"Erreur de connexion Mysql.","Connexion", JOptionPane.WARNING_MESSAGE);
    			System.out.println("Error in : public int getService() {...} : " + e);
    		}
    		return str;
    	}//getService()
    voila
    si tu as des question n'hesite pas...

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 34
    Par défaut
    Pourquoi faire simple quand on peut faire compliqué?
    Allez, une petite ligne telle que:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JComboBox comboBox = new JComboBox(results.getResults().toArray());
    et ca suffira. ;o)

  5. #5
    Membre très actif
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2005
    Messages : 153
    Par défaut
    S'il vous plait, comment on fait pour remplir une liste de string, là je suis un peu pommée!!

    J'ai fait ceci, mais ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for (int i=0; i < sizeOfRecommendations; i++) {
                    ListDescriptions.add(mot) ;        }
    mot est de type String et ListDescriptions est de type List mais le programme refuse de mettre un String dans une Liste. Comment faire svp?

  6. #6
    Membre très actif
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2005
    Messages : 153
    Par défaut
    j'ajoute que la valeur de mot change en fonction de i mais ça c pas un pb.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 34
    Par défaut
    Tu peux nous donner un peu plus de code? En particulier le moment ou tu declares ListDescriptions et mot. Parceque si il s'agit bien d'une liste et d'un String, il ne devrait pas y avoir de problème. Autrement: sizeOfRecommendations est bien un int? ListDescriptions ne vaut pas null?

  8. #8
    Membre très actif
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2005
    Messages : 153
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    List listDescriptions = null; 
     
    for (int i=0; i < sizeOfRecommendations; i++) { 
                    listDescriptions.add(recommendation.get(i)) ;        }
    recommendation.get(i) est un String
    le pb est peut être dans la déclaration de la liste.

    Merci de votre aide

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 34
    Par défaut
    C'est tout a fait ca. Comme je te le suggérais, ta liste est null. Il faut donc que tu fasses ceci et ca marchear:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    List listDescriptions = new ArrayList(); [/color]
     
    for (int i=0; i < sizeOfRecommendations; i++) {
                    listDescriptions.add(recommendation.get(i)) ;        }
    A l'execution, tu as du obtenir un message contenant le mot NullPointerException . C'est le nom de l'exception qui a ete levee et qui a causé le plantage de ton programme. L'obtention de ce message signifie que tu as essayé d'appliquer une methode sur un objet null. Ici, l'exception a été levée a cause du listDescriptions.add() avec listDescriptions vallant null.

  10. #10
    Membre très actif
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2005
    Messages : 153
    Par défaut
    Effectivement, la classe List est une interface et il faut utiliser une classe l'implémentant comme ArrayList.

    Merci pour votre aide

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

Discussions similaires

  1. Remplir JComboBox dynamiquement à partir d'un tableau
    Par gerem42 dans le forum Composants
    Réponses: 3
    Dernier message: 06/12/2013, 11h48
  2. [JTable] Remplir à partir d'une requete
    Par abdelmajid_daosabah dans le forum Composants
    Réponses: 8
    Dernier message: 22/05/2011, 12h09
  3. [SQL] Remplir à partir d'une requete SQL
    Par GarsDuCalvados dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 18/09/2007, 10h41
  4. [Swing] JComboBox générée à partir d'un fichier
    Par NhyMbuS dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 28/03/2006, 09h16
  5. [JList] Remplir à partir d'objets
    Par Invité dans le forum Composants
    Réponses: 6
    Dernier message: 31/01/2005, 09h55

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