JDBC / jComboBox [Résolu]

Signaler
Messages postés
10
Date d'inscription
mardi 13 juillet 2004
Statut
Membre
Dernière intervention
17 janvier 2005
-
papaand1
Messages postés
29
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
27 novembre 2011
-
Bonjour,

Je teste depuis quelque temps les jcombobox. J'alimente la 1ère combobox avec un resultset issu d'une requete sql et je remplis un vecteur. Voici le source de la 1ère combo :

private JComboBox getJComboBox1() throws SQLException {
if (jComboBox1 == null) {
combo1 = new Vector();
jComboBox1 = new JComboBox();
jComboBox1.setBounds(133, 6, 165, 30);
ResultSet result1 = requete.executeQuery("select idstage, libstage from stage");
while (result1.next()){
jComboBox1.addItem(result1.getInt("idstage") + " " + result1.getString("libstage"));
combo1.addElement(result1);
}
}
return jComboBox1;
}

Tout se complique lorsque j'essaie d'alimenter la 2ème avec un 2ème resultset. En effet, la requête du 2ème resultset s'appuie sur des données du 1er resultset et je ne sais pas comment exploiter le vecteur que j'ai alimenté précédemment. J'ai pourtant le sentiment que je ne suis pas loin de la soluc mais je commence à ne plus avoir bcp de cheveux à force de me les arracher. Je mets ci dessous le source de la 2ème combo au cas où qqun pourrait m'aider à préserver les rares implants capillaires qu'il me reste :

private JComboBox getJComboBox2() throws SQLException {
if (jComboBox2 == null) {
jComboBox2 = new JComboBox();
jComboBox2.setBounds(133, 6, 166, 30);
}
if (combo1.size() != 0){
ResultSet rstest = (ResultSet) combo1.elementAt(jComboBox1.getSelectedIndex());
String stage = rstest.getString("idstage");ResultSet result2 requete.executeQuery("select idsession, debutsession, finsession from session where idstage " + rstest.getString("idstage"));//ResultSet result2 requete.executeQuery("select idsession, debutsession, finsession from session where idstage 5");//" + getJButton1().getSelectedObjects().toString());
while (result2.next()){
jComboBox2.addItem(result2.getString("idsession")); // + " " + result2.getInt("debutsession"));
}
}
return jComboBox2;
}

Merci d'avance.

Je suis un peu busard en java alors c'est possible que ce code fasse marrer des initiés et dans ce cas, j'ai plus qu'à me reconvertir dans la clownerie.

6 réponses

Messages postés
2116
Date d'inscription
samedi 8 novembre 2003
Statut
Contributeur
Dernière intervention
6 octobre 2012
9
GodConan :clown)

"combo1.addElement(result1);"

la ca veu dire que tu range N foi une reference sur le meme resultset ds ton vector .... vu que tu ne reinit pas result1 ds la boucle. Donc ce code est impropre quelque soit le resultat que tu veuille ... ( error 1 ;o) )

"String stage = rstest.getString("idstage");"

Ensuite tu ne peut pas faire 2 fois un get sur le meme champ il te faut reinit ton resultset ( error 2 ) car n oublie pas que ici tu reference un resultset qui a deja etait parcouru ....

En conclusion si tu veu manipuler les donnée soit tu met le resultat du ResultSet ds un vector (et non pas le ResultSet ) soit tu reproduit la requet et dc tu peut stoker la requete lier a chac champ de la combo ds un vector aussi sous forme de String.

Personelement, J utilise les 2 methode selon le volume de donnee a traiter ... ;o) si tu a une tres grosse table le SGBDR parcourrera plus vite les donnee ;o) que tu ne pourrai le faire en JAVA ;o) donc reproduire la reque est tres rentable .. .;o) ...

++
Messages postés
2116
Date d'inscription
samedi 8 novembre 2003
Statut
Contributeur
Dernière intervention
6 octobre 2012
9
GodConan :clown)

euuuhh!! Moi c est pas Rahan...!!! ;o)
Messages postés
10
Date d'inscription
mardi 13 juillet 2004
Statut
Membre
Dernière intervention
17 janvier 2005

Merci à toi fils de Krao
Messages postés
10
Date d'inscription
mardi 13 juillet 2004
Statut
Membre
Dernière intervention
17 janvier 2005

Désol pour la confusion des genres.
Est ce que tu aurais 1 URL pour un tutorial SWING/JDBC autre que celui de Doudoux (bien d'ailleurs) ?

Merci
Messages postés
2116
Date d'inscription
samedi 8 novembre 2003
Statut
Contributeur
Dernière intervention
6 octobre 2012
9
GodConan :clown)

no sorry ;-(
Messages postés
29
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
27 novembre 2011

BONJOUR
JAI REUSSI A REMPLIR LE COMBOBOX AVEC 3 COLONNES DE LA TABLES X.
MAINTENANT JE VEUX RECUPERER LES DONNEES DANS LE COMBO DANS UNE VARIABLE MAIS JNY ARRIVE PAS.


papand1