Bonjour,
je vouos expose mon problème. J'ai réalisé une petite application avec une class de connexion à SQLSERVER qui fonctionne et une interface graphique composée d'une combobox, d'champs de texte et d'un bouton.
Je charge ma combobox avec une liste de champs de ma table et cela fonctionne très bien, et ensuite je voudrais que lorsque j'appuis sur le bouton l'adresse associé(dans la table) au champs que je selectionne dans la combo apparaisse dans la zone de texte.
Voici mon programme:
[CODE]
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
public class Main extends javax.swing.JFrame {
//Création d'un nouveau objet connexion
public static Connexion con = new Connexion();
public Main() {
initComponents();
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
//appel de la méthode CloseBD pour fermeture connexion si ouverte
con.CloseBD();
//fermeture de la forme
this.dispose();
}
@SuppressWarnings("static-access")
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
//j'associe le choix du champs fait dans la combobox et sa fonctionne
String Resultat = Combo.getSelectedItem().toString();
System.out.println(Combo.getSelectedItem().toString());
try
{
//Déclaration variables
ResultSet rs2 = null;
//appel de la methode d'éxécution de la requête
rs2 = con.ExeRequete("SELECT adresse FROM site WHERE intitulex3 = '" + Resultat + "'");
String Resultat1 = rs2.getString("adresse");
(c'est à cette endroit qu'il saute dans le catch)
System.out.println(Resultat1);
//chargement de la zone de texte avec le numero de section
field.setText(Resultat1);
//fermeture de la connexion
con.CloseBD();
}
catch (SQLException ex)
{
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
try
{
new Main().setVisible(true);
//Déclaration variables
ResultSet rs1 = null;
//appel de la méthode de connexion à la BD
con.ConnexionBD();
//déclaration requête
String SQL1 = "SELECT * FROM site";
//appel de la methode d'éxécution de la requête
rs1 = con.ExeRequete(SQL1);
while (rs1.next())
{
Combo.addItem(rs1.getString("intitulex3"));
System.out.println(rs1.getString("intitulex3"));
}
}
catch (SQLException ex)
{
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
}
});
}
// Variables declaration - do not modify
public static javax.swing.JComboBox Combo;
public static javax.swing.JTextField field;
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
// End of variables declaration
}
[CODE]
Tout fonctionne très bien jusqu'au moment ou je click sur mon bouton il me renvoi un message d'erreur SQL.
J'ai donc débuger mon programme et c'est au moment ou je fais
rs2.getString("adresse") il passe dans le catch et me sort une exception en me disans que le jeu de résultat ne renvoi rien
J'ai essayer de mettre des methodes rs2.first(), rs2.beforeFirst()..... et rien n'y fait.
Ca fait trois jours que je suis dessus et je galère grave donc si quelqu'un peut me dire ce qui cloche je lui en serait plus que reconnaissant...
MERCI D'AVANCE.
Julien.