Partage
  • Partager sur Facebook
  • Partager sur Twitter

Retoutner un ResultSet par une fonction

    31 janvier 2009 à 19:35:57

    salut tout le monde
    j'ai un problème c'est que j'arrive pas a retourner un ResultSet par une fonction voila la portion du code :
    classe AcceeMysal
    public static ResultSet chercher(){
        	ResultSet resultat=null;
        	try {
                Connection conn = getConnection("connect.conf");//retourne les parametre de la connction
                Statement stat = conn.createStatement();
                resultat = stat.executeQuery("SELECT * FROM membres WHERE nom='abdessamad'");
                stat.close();
                conn.close();
        }
        catch (SQLException ex) {
        	//JOptionPane.showMessageDialog(null, "Erreur 1 !", "Erreur", JOptionPane.ERROR_MESSAGE);
                while (ex != null) {
                        ex.printStackTrace();
                        ex = ex.getNextException();
                }
        }
        catch (IOException ex) {
               ex.printStackTrace();
               // JOptionPane.showMessageDialog(null, "Erreur 2 !", "Erreur", JOptionPane.ERROR_MESSAGE);
        }
        return resultat;	
        }
    

    Apres je fais un appel depuis une classe :
    import java.sql.*;
    
    class TestBase{
    
    public static void main(String[] args) throws SQLException{
    	ResultSet r=AcceeMysql.chercher();
    	while(r.next())
    		System.out.println(r.getString("prenom"));
    	r.close();
    }
    }
    

    il m'affiche une erreur :
    Operation not allowed after ResultSet closed
    !!!!!plz help me
    meme lorsque je tente d'affciher le ResultSet a l'interieur de la fonction et en dehors du bloc try ca marche pas
    ce code retourne la meme erreur :
    public static ResultSet chercher(/*Hashtable<String ,String> formulaire*/) throws SQLException{
        	ResultSet resultat=null;
        	try {
                Connection conn = getConnection("connect.conf");
                Statement stat = conn.createStatement();
                resultat = stat.executeQuery("SELECT * FROM membres WHERE nom='abdessamad'");
                stat.close();
                conn.close();
        }
        catch (SQLException ex) {
                while (ex != null) {
                        ex.printStackTrace();
                        ex = ex.getNextException();
                }
        }
        catch (IOException ex) {
               ex.printStackTrace();
        }
    	while(resultat.next())
    		System.out.println(resultat.getString("prenom"));
        resultat.close();
        return resultat;	
        }
    

    mais celui ci-dessous marche très bien :
    public static ResultSet chercher(/*Hashtable<String ,String> formulaire*/){
        	ResultSet resultat=null;
        	try {
                Connection conn = getConnection("connect.conf");
                Statement stat = conn.createStatement();
                resultat = stat.executeQuery("SELECT * FROM membres WHERE nom='abdessamad'");
            	while(resultat.next())
            		System.out.println(resultat.getString("prenom"));
                resultat.close();
                stat.close();
                conn.close();
        }
        catch (SQLException ex) {
        	//JOptionPane.showMessageDialog(null, "Erreur 1 !", "Erreur", JOptionPane.ERROR_MESSAGE);
                while (ex != null) {
                        ex.printStackTrace();
                        ex = ex.getNextException();
                }
        }
        catch (IOException ex) {
               ex.printStackTrace();
               // JOptionPane.showMessageDialog(null, "Erreur 2 !", "Erreur", JOptionPane.ERROR_MESSAGE);
        }
        return resultat;	
        }
    

    l'idée c'est de pouvoir effectuer un recherche dans la base de données est retourner un ResultSet afin d'en profiter pour remplir des champs
    plzzzz help me je suis bloqué
    • Partager sur Facebook
    • Partager sur Twitter
      31 janvier 2009 à 21:14:15

      Essaie de mettre en commentaire la fermeture du statement !!!
      • Partager sur Facebook
      • Partager sur Twitter
      J'ai tous les badges d'OpenClassrooms.

      Retoutner un ResultSet par une fonction

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown