Probleme avec un result set

Résolu
Beberto56 Messages postés 119 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 22 décembre 2008 - 4 juin 2008 à 11:57
Beberto56 Messages postés 119 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 22 décembre 2008 - 4 juin 2008 à 14:57
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

nosferaltu0 Messages postés 36 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 6 juin 2008
4 juin 2008 à 12:26
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
3
Beberto56 Messages postés 119 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 22 décembre 2008
4 juin 2008 à 14:57
Re,

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

Merci du renseignement.

++ Julien.
0
Rejoignez-nous