IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JDBC Java Discussion :

probléme avec une méthode qui retourne un ResultSet


Sujet :

JDBC Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Février 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Tunisie

    Informations forums :
    Inscription : Février 2008
    Messages : 354
    Points : 139
    Points
    139
    Par défaut probléme avec une méthode qui retourne un ResultSet
    Salem,
    j'ai un probléme dans une méthode de ma classe.
    voila la methode:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    	  public ResultSet getreq(String req)
    		{
    	      Statement instruction;
    	      ResultSet jeuResultats;
     
    	  try{
    		  String requete = req;
    		  instruction = conn.createStatement();
    		  jeuResultats = instruction.executeQuery(requete);
    		  instruction.close();
    	        }
    	        catch(SQLException sqlex){
    		    sqlex.printStackTrace();
    	    }			
    			return(jeuResultats);			
    		}
    le message d'erreur est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    connBD.java:79: missing return statement
                    }
                    ^
    Note: connBD.java uses unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details.
    1 error
    je met le ligneavantmais il déclare comme erreur qu'il n'y a pas un valeur à retourner.
    le probléme est que j'ai besoin que ma méthode me retourne un ResultSet
    comment puis je faire pour fonctionner cette méthode.

  2. #2
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Je pense qu'il faut que tu initialise ton ResultSet à null pour être sur d'avoir une valeur à renvoyer si tu passe par ton catch.
    autant l'hiver éclate que l'hétéroclite
    le vrai geek c'est celui qui croit qu'il y a 1024 mètres dans un kilomètre

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Février 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Tunisie

    Informations forums :
    Inscription : Février 2008
    Messages : 354
    Points : 139
    Points
    139
    Par défaut
    Salem,
    si j'initialise resultset à null alors toujours elle me retourne null.
    lorsque je met l'instruction
    return resultset;
    aprés exactement
    jeuResultats = instruction.executeQuery(requete);
    alors cette erreur diparait mais le probléme est que le return ne doit pas effectué dans try

  4. #4
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    311
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 311
    Points : 318
    Points
    318
    Par défaut
    Salut,

    1) J'initialiserais le resultset à null et je mettrais le "return" dans un bloc finally
    2) Perso, je ne fermerais pas le statement car cela va fermer également le resultset lié, donc tu ne pourras plus le parcourir

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Février 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Tunisie

    Informations forums :
    Inscription : Février 2008
    Messages : 354
    Points : 139
    Points
    139
    Par défaut
    Salem,
    si j'initialiserais le resultset à null et je mettrais le "return" dans un bloc finally alors toujours il me retourne null
    voilà ce que je fais exactement:
    public ResultSet getreq(String req)
    {
    Statement instruction;
    ResultSet jeuResultats;

    try{
    String requete = req;
    instruction = conn.createStatement();
    jeuResultats = instruction.executeQuery(requete);
    }
    catch(SQLException sqlex){
    sqlex.printStackTrace();
    }
    return(jeuResultats);
    }
    de plus lorsque je ne fermerais pas le statement, le code va boucler dés que je fais un autre appel à cette méthode

  6. #6
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    311
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 311
    Points : 318
    Points
    318
    Par défaut
    Citation Envoyé par moooona Voir le message
    si j'initialiserais le resultset à null et je mettrais le "return" dans un bloc finally alors toujours il me retourne null
    Je ne pense pas... ou alors c'est qu'une exception est levée lors de la requête.


    Citation Envoyé par moooona Voir le message
    de plus lorsque je ne fermerais pas le statement, le code va boucler dés que je fais un autre appel à cette méthode
    Là par contre, je ne vois pas du tout ce que tu veux dire... En tout cas, si tu veux fermer le statement n'hésite pas, c'est toi le boss !


    EDIT : quand tu dis "null", tu veux dire que ton resultset est vraiment "null" (c'est à dire que tu as un NullPointeur quand tu fais un .next() dessus) ou bien qu'il est vide (c'est à dire qu'il ne te retourne aucun enregistrement) ?

Discussions similaires

  1. probléme dans une fonction qui retourne un data reader
    Par saraenim dans le forum Windows Forms
    Réponses: 32
    Dernier message: 28/04/2008, 21h53
  2. une méthode qui retourne une valeur
    Par soujava dans le forum Débuter avec Java
    Réponses: 8
    Dernier message: 17/04/2008, 14h29
  3. Problème avec une fonction qui supprime un dossier
    Par Mo_Poly dans le forum Langage
    Réponses: 3
    Dernier message: 18/03/2008, 18h39
  4. Problème avec une méthode virtuelle pure
    Par Burckel dans le forum C++
    Réponses: 4
    Dernier message: 05/12/2006, 13h00
  5. Réponses: 6
    Dernier message: 04/09/2006, 15h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo