Probleme avec un result set [Résolu]

Signaler
Messages postés
119
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
22 décembre 2008
-
Messages postés
119
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
22 décembre 2008
-
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.
A voir également:

2 réponses

Messages postés
36
Date d'inscription
mardi 6 mai 2008
Statut
Membre
Dernière intervention
6 juin 2008

Je crois que ça viens du fait que tu ne fait un rs2.next(); avant de faire un getString.

Tu devrais pouvoir trouver quelques informations utiles par .

bashfr.org
Messages postés
119
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
22 décembre 2008

Re,

c'est bon tu avais raison je devais faire un While (rs2.next){}.

Merci du renseignement.

++ Julien.