Trop peu de paramètre.

mehdi.cheddani Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -  
KX Messages postés 16760 Date d'inscription   Statut Modérateur Dernière intervention   - 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 134 Date d'inscription   Statut Membre Dernière intervention   10
 
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   Statut Membre Dernière intervention   1
 
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   Statut Membre Dernière intervention   92
 
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= "";  
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 16760 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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