JComboBox récupérer et envoyer valeur [Résolu]

gregorybts
Messages postés
30
Date d'inscription
dimanche 10 juin 2007
Dernière intervention
1 novembre 2007
- 30 oct. 2007 à 18:45 - Dernière réponse : gregorybts
Messages postés
30
Date d'inscription
dimanche 10 juin 2007
Dernière intervention
1 novembre 2007
- 1 nov. 2007 à 18:32
Bonsoir,

dans mon programme, j'ai une combo box depuis peu mais je n'arrive pas à la lier avec ma bdd.

c'est un prog de gestion d'élève et la combobox concerne la situation familiale des parents.

voici ma déclaration :

private JComboBox listSituations = null ;
private
Object[] situations = new Object[]{"Célibataire", "Mariés", "Séparés",
"Divorçés", "Concubins", "PACeS", "Veuf / Veuve", "Remariés" } ;
private JComboBox getSituations() {
        if (listSituations == null) {
            listSituations = new JComboBox(situations);
            listSituations.setBounds(new Rectangle(170, 443, 143, 20));
        }
        return listSituations;
    }

add(getSituations(), null);

modification de fiche

for (int i=0;i<situations.length;i++)
{
         JOptionPane.showMessageDialog(null, situations[i], "Confirmation", JOptionPane.ERROR_MESSAGE);
         if (situations[i].equals(res.getString("situation_familiale_enfant")))
         {
                 JOptionPane.showMessageDialog(null, "OK", "Confirmation", JOptionPane.ERROR_MESSAGE);
                  listSituations.setSelectedItem(situations[i]);
         }
  }
et pour balancer la valeur selectionnée, je mets sa dans le insert into :
listSituations.getSelectedItem().toString()

voila tout... pourriez vous me dire ce qui ne va pas ???

A+
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
gregorybts
Messages postés
30
Date d'inscription
dimanche 10 juin 2007
Dernière intervention
1 novembre 2007
- 1 nov. 2007 à 18:32
3
Merci
j'ai trouvé mon erreur, donc voici la solution pour ceux qui ont compris ce que je cherchais a faire.

C'est pas compliqué, je suis dans une modification de fiche personnel, je veux récupérer la valeur de la bdd pour situation personnel pour que cette valeur soit chosi à l'ouverture de la fiche dans la combobox plutot que ce soit le premier item.

en fait, je ne rentrai jamais dans le if car je comparai un string et un object donc .

for (int i=0;i<situations.length;i++)
{
         JOptionPane.showMessageDialog(null, situations[i], "Confirmation", JOptionPane.ERROR_MESSAGE);
         if (situations[i].toString().equalsIgnoreCase(res.getString("situation_familiale_enfant")))
         {
                 JOptionPane.showMessageDialog(null, "OK", "Confirmation", JOptionPane.ERROR_MESSAGE);
                  listSituations.setSelectedItem(situations[i]);
         }
  }

voila merci quand même et à plus

Merci gregorybts 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 95 internautes ce mois-ci

Commenter la réponse de gregorybts
Ombitious_Developper
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Dernière intervention
26 juillet 2013
- 1 nov. 2007 à 14:42
0
Merci
Salut:

Je ne vois pas où est ton problème?

1. Un simple constructeur de JComboBox résoud tout.
2. Il faut aussi comment utiliser JDBC.
Commenter la réponse de Ombitious_Developper
gregorybts
Messages postés
30
Date d'inscription
dimanche 10 juin 2007
Dernière intervention
1 novembre 2007
- 1 nov. 2007 à 15:55
0
Merci
je sais comment utiliser JDBC, tout mon programme fonctionne avec, c'est juste la première fois que j'utilise une JComboBox

mon problème est que je n'arrive pas à récupérer la valeur de la base et la mettre dans le JComboBox (pour une modification de fiche pas exemple)

autre question qui n'est pas un problème : est ce qu'en faisant sa "listSituations.getSelectedItem().toString()", je récupère bien le libellé de ce qui est selectionné.

Merci d'avance pour votre aide
Commenter la réponse de gregorybts
Ombitious_Developper
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Dernière intervention
26 juillet 2013
- 1 nov. 2007 à 16:44
0
Merci
Salut:

1. Pour remplir ta liste déroulante.

// Je suppose que tout est préparé pour accèder la BD (driver, Connection...)
protected Vector<Object> getData(Connection connection) throws SQLException {
    Vector<Object> data = new Vector<Object>();
 
    Statement stm = connection.createStatement();
    String query = "SELECT name FROM Table_Client";
    ResultSet rs = stm.executeQuery(query);
    while (rs.next()) {
       data.add(rs.getObject(0));
    }

    return data;
}

Puis dans ton programme tu fais:

try {
    Connection cnx = DriverManager.getConnection([...]);
    // ...
    JComboBox combo = createComboBox(getData(cnx));
    // ...
}
catch (SQLException e) {
    e.printStackTrace();
}

2. Pour ta deuxième question tu peux faire:

String item = listSituations.getSelectedItem().toString();

ou

String item = (String)listSituations.getSelectedItem();
Commenter la réponse de Ombitious_Developper
Ombitious_Developper
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Dernière intervention
26 juillet 2013
- 1 nov. 2007 à 16:46
0
Merci
salut:

Petite Erreur de frappe:

1. Pour remplir ta liste déroulante.

// Je suppose que tout est préparé pour accèder la BD (driver, Connection...)
protected Vector<Object> getData(Connection connection) throws SQLException {
    Vector<Object> data = new Vector<Object>();
 
    Statement stm = connection.createStatement();
    String query = "SELECT name FROM Table_Client";
    ResultSet rs = stm.executeQuery(query);
    while (rs.next()) {
       data.add(rs.getObject(0));
    }

    return data;
}

Puis dans ton programme tu fais:

try {
    Connection cnx = DriverManager.getConnection([...]);
    // ...
    JComboBox combo = new JComboBox(getData(cnx));
    // ...
}
catch (SQLException e) {
    e.printStackTrace();
}

2. Pour ta deuxième question tu peux faire:

String item = listSituations.getSelectedItem().toString();

ou

String item = (String)listSituations.getSelectedItem();
Commenter la réponse de Ombitious_Developper
gregorybts
Messages postés
30
Date d'inscription
dimanche 10 juin 2007
Dernière intervention
1 novembre 2007
- 1 nov. 2007 à 16:55
0
Merci
merci beaucoup pour cette réponse ultra rapide mais en fait j'ai du mal expliquer pour la modification.

les différents choix de la combobox ne sont pas tirés de la bdd mais écris en dur.

en fait, je dois aller chercher dans la bdd la valeur et ensuite selectionner l'item de ma jcombobox qui correspond a cette valeur.

merci encore
Commenter la réponse de gregorybts

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.