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 :

Erreur SQL dans servlet.


Sujet :

JDBC Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Points : 362
    Points
    362
    Par défaut Erreur SQL dans servlet.
    Bonjour,

    Dans une de mes servlet j'ai une erreur SQL, pourtant quand j'execute cette requete dans mysql elle passe.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ResultSet rs = st.executeQuery("SELECT s.nom AS legende, COUNT(a.id) AS valeur FROM societe s LEFT JOIN appel a ON s.id = a.id_societe GROUP BY s.nom HAVING COUNT (a.id) > 0 ORDER BY valeur DESC");

  2. #2
    Membre confirmé Avatar de djsnipe
    Inscrit en
    Mai 2008
    Messages
    440
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 440
    Points : 493
    Points
    493
    Par défaut
    Faudrait nous donner une stack pour pouvoir t'aider

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Points : 362
    Points
    362
    Par défaut
    Voila l'erreur au niveau du catch SQL :

    com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: FUNCTION hotline.COUNT does not exist
    C'est bizzard ca dis que la fonction count n'existe pas pour ma BDD .... c'est mysql pourtant !!!!

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 511
    Points : 386
    Points
    386
    Par défaut
    Bonjour
    il te faudrais revoir ta syntaxe sql:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FROM societe s LEFT JOIN appel a
    Les tables sont societe et appel ?, que viennent faire ' s' et ' a' à cet endroit ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Points : 362
    Points
    362
    Par défaut
    Oula ... merci de ta reponse mais je t'invite a aller lire de la doc SQL.

    quand tu mets des lettres ou mot apres le nom d'une table c'est pour différencier de facon simple des champs qui ont le meme nom dans des tables differentes en les renommant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FROM nom_Table [[AS] nom]
    La effecitvement ca saute pas au nez mais j'ai des champs id identique, et pour avoir a eviter d'ecrire les nom de table complet la premiere lettre de celle ci suffit à l'identifier.

    regarde dans le reste de la requete par exemple a.id equivaut a appel.id ca prend moins de place quand meme et c'est tout autant explicite.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Points : 362
    Points
    362
    Par défaut
    Et bien j'ai trouvé mon erreur

    il ne faut pas d'espace apres le COUNT .....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     GROUP BY s.nom HAVING COUNT (a.id) > 0 ORDER BY valeur DESC"
    ce qui donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     GROUP BY s.nom HAVING COUNT(a.id) > 0 ORDER BY valeur DESC"

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] erreur sql dans formulaire pour inscription membre
    Par kate59 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 29/02/2008, 13h08
  2. Récupérer erreur sql dans un ksh
    Par jeremy13 dans le forum SQL
    Réponses: 9
    Dernier message: 14/11/2007, 19h11
  3. [OpenOffice][Base de données] Erreur SQL dans OOo.Base
    Par vmalep dans le forum OpenOffice & LibreOffice
    Réponses: 2
    Dernier message: 30/06/2007, 23h56
  4. [SQL] Erreur SQL dans php
    Par joker vb dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 03/05/2007, 11h37
  5. Erreur SQL dans forum
    Par bigball dans le forum Langage
    Réponses: 2
    Dernier message: 17/07/2006, 03h48

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