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

Hibernate Java Discussion :

Comment savoir si une requête retourne un résultat


Sujet :

Hibernate Java

  1. #1
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 639
    Points : 167
    Points
    167
    Par défaut Comment savoir si une requête retourne un résultat
    Bonjour,

    Je voudrais savoir si ma requête me retourne un résultat ou pas.
    Requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Query query=session.createQuery("select max(id) from Consultation");
    J'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    List liste = query.list();
    if (liste.isEmpty()){
       id=1;
    }
    Ma table Consultation est vide et pourtant isEmpty = False
    Savez vous pourquoi?
    Idem si je teste : (liste.size()==0), pour lui size=1
    Du coup quand je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Iterator result = query.list().iterator();
    while (result.hasNext()){
       id = ((Integer) result.next()).intValue();
    }
    j'ai cette erreur :
    java.lang.NullPointerException
    dao.ConsultationDAO.getMaxIdConsultation(ConsultationDAO.java:55)
    Je ne comprends pas!!!

    Merci pour vos réponses.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 69
    Points : 76
    Points
    76
    Par défaut
    Salut,

    Si tu fais un "select max(champ) from...", tu auras toujours un résultat :
    - La valeur max du champ pour ta table.
    - null, si ta table est vide.

    A toi de tester que list.get(0) est null (table vide) ou pas.

    A+

  3. #3
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 524
    Points
    9 524
    Billets dans le blog
    1
    Par défaut
    Ou directement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Object result = session.createQuery("select max(id) from 
    Table").uniqueResult();
    if ( result == null )
    {
       // la table est vide...
    }
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Comment savoir quand une requête ne retourne rien
    Par veriecherie dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 29/07/2008, 14h16
  2. [MySQL] Savoir si une requête renvoie des résultats
    Par Sytchev3 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 25/10/2007, 14h53
  3. Comment savoir si une requête a bien été executé ?
    Par taisherg dans le forum VBA Access
    Réponses: 2
    Dernier message: 07/06/2007, 16h34
  4. Réponses: 3
    Dernier message: 02/06/2006, 13h38
  5. Savoir si une requête retourne un résultat ou pas
    Par zut94 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 30/09/2005, 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