Remplir un combo avec mysql [Résolu]

lilyy59 22 Messages postés lundi 1 novembre 2010Date d'inscription 19 mars 2012 Dernière intervention - 6 déc. 2011 à 21:52 - Dernière réponse : cs_Julien39 6450 Messages postés mardi 8 mars 2005Date d'inscription 17 mai 2018 Dernière intervention
- 8 déc. 2011 à 16:12
Bonsoir,

Je voudrais savoir si il est possible de mettre le resultat d'une requete sql dans un combo.
Pour l'instant je stock le resultat dans un tableau. Comment je le met dans mon combo qui est sur une autre page?
public String[] lireLaBase(){
String[] rep  ;
rep = new String[]{"0"};
int i=0;
String url ="jdbc:mysql://localhost/dbrecette";
String login ="root";
String mdp="";

Connection cn=null; 
Statement st= null;
ResultSet rs=null;
try {
Class.forName("com.mysql.jdbc.Driver");
cn = DriverManager.getConnection(url, login, mdp);
st=cn.createStatement();
String sql="Select labelmetier FROM metier";
rs=st.executeQuery(sql);
while(rs.next()){
System.out.println(rs.getString("libelmetier"));


rep[i]=rs.getString("libelmetier");
i++;
}

} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch(SQLException e){
e.printStackTrace();
}finally{
try {
cn.close();
st.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}


return rep;

}

merci
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
cs_Julien39 6450 Messages postés mardi 8 mars 2005Date d'inscription 17 mai 2018 Dernière intervention - 8 déc. 2011 à 07:53
3
Merci
Bonjour,

Une nullPointerException signifie que tu appelles une méthode sur un objet qui est null.
Par exemple :

String s = null;
s.charAt(0);

Sur la ligne lesMetiers=metier.lireLaBase(); L'objet metier est null. Pour t'en convaincre, tu peux faire :
System.out.println(metier);
lesMetiers=metier.lireLaBase();

Merci cs_Julien39 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 74 internautes ce mois-ci

Commenter la réponse de cs_Julien39
cs_Julien39 6450 Messages postés mardi 8 mars 2005Date d'inscription 17 mai 2018 Dernière intervention - 7 déc. 2011 à 08:22
0
Merci
Bonjour,

Si tu as les résultats sous forme de tableau, il suffit de passer le tableau en paramètre du constructeur de la combo :

String[] tableau = new String[]{"a", "b", "c", "d"};
JComboBox combo = new JComboBox(tableau);


Si la combo est affichée sur une autre fenêtre, passes le talbeau en paramètre du constructeur de l'autre fenêtre :

public class Fenetre2 extends JFrame {
public Fenetre2(String[] tableau){
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(200, 55);
setLocationRelativeTo(null);
JComboBox combo = new JComboBox(tableau);
f.add(combo);
f.setVisible(true);
}
}
Commenter la réponse de cs_Julien39
lilyy59 22 Messages postés lundi 1 novembre 2010Date d'inscription 19 mars 2012 Dernière intervention - 7 déc. 2011 à 08:49
0
Merci
Le soucis est que comme je l’envoie à partir d'une fonction de ma classe Metier et je voulais l'envoyer dans ma page MetierIHM.
	JComboBox comboBoxMetier = new JComboBox(metier.lireLaBase()); 

Mais j'ai deux erreur : sur ce bout de code et aussi dans ma classe où j'appelle ma JInternalFrame :
metierIHM = new MetierIHM();
Commenter la réponse de lilyy59
cs_Julien39 6450 Messages postés mardi 8 mars 2005Date d'inscription 17 mai 2018 Dernière intervention - 7 déc. 2011 à 09:17
0
Merci
Je ne peux rien te dire si je ne vois pas plus de code.

Est ce que metier.lireLaBase() retourne bien un tableau ? Quel est le nom de l'erreur associée ?

Idem pour l'autre erreur.
Commenter la réponse de cs_Julien39
cs_Julien39 6450 Messages postés mardi 8 mars 2005Date d'inscription 17 mai 2018 Dernière intervention - 7 déc. 2011 à 09:17
0
Merci
Ok, metier.lireLaBase() retourne un tableau. Je ne sais pas ce qui ne vas pas alors. recopie moi ton message d'erreur
Commenter la réponse de cs_Julien39
lilyy59 22 Messages postés lundi 1 novembre 2010Date d'inscription 19 mars 2012 Dernière intervention - 7 déc. 2011 à 22:26
0
Merci
Bonsoir,

J'ai changé, j'ai mis une liste au lieu d'un tableau. mes erreurs sont :
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at MetierIHM.(MetierIHM.java:57)
at RecetteIHM$2.actionPerformed(RecetteIHM.java:55)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)


(MetierIHM.java:57) :
		lesMetiers=metier.lireLaBase();
donc quand je met dans une variable la liste retourner par la fonction



(RecetteIHM.java:55)
				metierIHM = new MetierIHM();
quand j'instancie ma classe ...
Commenter la réponse de lilyy59
lilyy59 22 Messages postés lundi 1 novembre 2010Date d'inscription 19 mars 2012 Dernière intervention - 8 déc. 2011 à 15:47
0
Merci
Ok merci
C'est bon ça marche !!
Commenter la réponse de lilyy59
cs_Julien39 6450 Messages postés mardi 8 mars 2005Date d'inscription 17 mai 2018 Dernière intervention - 8 déc. 2011 à 16:12
0
Merci
De rien, peux tu accepter les réponses qui t'ont aidé stp.

Bon courage pour la suite.
Commenter la réponse de cs_Julien39

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.