Trop peu de paramètre.

Fermé
mehdi.cheddani Messages postés 9 Date d'inscription mardi 13 novembre 2012 Statut Membre Dernière intervention 22 avril 2013 - 13 nov. 2012 à 00:27
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 19 nov. 2012 à 13:28
Bonjour,
y'a t-il quelqu'un qui pourrait me corriger ce bout de code c'est urgent:
jComboBox.addItemListener(new java.awt.event.ItemListener() {
public void itemStateChanged(java.awt.event.ItemEvent e) {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection cn=DriverManager.getConnection("jdbc:odbc:Bd");
Statement st=cn.createStatement();
String o=jComboBox.getSelectedItem().toString();
ResultSet rs=st.executeQuery("select * from Rabat where N_Ordre_Redal="+o+";");
while (rs.next()) {
String sq=rs.getString("sous_quartier");
String c=rs.getString("cil");
String q=rs.getString("quartier");
String n=rs.getString("nom");
String av=rs.getString("avis_acces");
String p=rs.getString("porte");
String r=rs.getString("rue");
jTextField.setText(sq);
jTextField1.setText(c);
jTextField2.setText(q);
jTextField3.setText(n);
jTextField4.setText(av);
jTextField5.setText(p);
jTextField6.setText(r);
}

} catch (ClassNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
l'erreur qui s'affiche est :
java.sql.SQLException: [Microsoft][Pilote ODBC Microsoft Access] Trop peu de paramètres. 1 attendu.
le but c'est d'afficher le résultat de ma requête select dans des champs text comme vous le constatez.
Merci

A voir également:

2 réponses

bubull97 Messages postés 133 Date d'inscription vendredi 1 octobre 2010 Statut Membre Dernière intervention 19 février 2014 10
14 nov. 2012 à 11:57
Salut,

Pour cette ligne,
ResultSet rs=st.executeQuery("select * from Rabat where N_Ordre_Redal="+o+";");
corrige la avec celle-ci:
ResultSet rs=st.executeQuery("select * from Rabat where N_Ordre_Redal='"+o+"';");

Si tu ne vois pas la différence, j'ai ajouter des ' autour de ton "o". Car un String doit etre mis entre quotes.

A bientôt
0
mehdi.cheddani Messages postés 9 Date d'inscription mardi 13 novembre 2012 Statut Membre Dernière intervention 22 avril 2013 1
19 nov. 2012 à 00:48
j ai une nouvelle erreur qui est la suivante:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at metier.Saisie$1.itemStateChanged(Saisie.java:91)
at javax.swing.JComboBox.fireItemStateChanged(JComboBox.java:1205)
at javax.swing.JComboBox.selectedItemChanged(JComboBox.java:1262)
at javax.swing.JComboBox.contentsChanged(JComboBox.java:1309)
at javax.swing.AbstractListModel.fireContentsChanged(AbstractListModel.java:100)
at javax.swing.DefaultComboBoxModel.setSelectedItem(DefaultComboBoxModel.java:88)
at javax.swing.DefaultComboBoxModel.addElement(DefaultComboBoxModel.java:126)
at javax.swing.JComboBox.addItem(JComboBox.java:696)
at metier.Saisie.getJComboBox(Saisie.java:108)
at metier.Saisie.getJContentPane(Saisie.java:501)
at metier.Saisie.initialize(Saisie.java:427)
at metier.Saisie.<init>(Saisie.java:417)
at metier.Saisie$2.run(Saisie.java:405)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
la ligne 91 mentionnée dans l 'erreur est la suivante:
jTextField.setText(sq);
merci
0
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
Modifié par Heliotte le 19/11/2012 à 10:45
Je pense que le "o" est une variable de type ENTIER.
Si c'est le cas, il ne faut certainement pas ajouter les ' autour de la variable
Si c'est une variable, est-elle initialisée ? Y'a-t-il une valeur dans "o" ?
edit: essaye en ajoutant
Class.forName("com.mysql.jdbc.Driver");"
après
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

a voir aussi si ok pour la connexion:
String url = "url";  
String log = "loggin";  
String pwd= "password";  
try{  
  Connection connection = DriverManager.getConnection(url,log,pwd);  
  //interaction avec la base  
}  
catch(SQLException sqle){  
   // gérer les erreurs ?   
}  
finally{  
   // fermer la connexion  
}
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
Modifié par KX le 19/11/2012 à 13:29
Une java.lang.NullPointerException sur jTextField.setText(sq); c'est soit 'jTextField' qui n'est pas initialisé (il manque jTextField = new JTextField()), soit 'sq' qui vaut null, ce qui signifierai que sq=rs.getString("sous_quartier"); n'a pas fonctionné (il manque le paramètre "sous_quartier")
0