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 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    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...
    }

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