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

SQL Oracle Discussion :

Erreur requête sql


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    mame06
    Invité(e)
    Par défaut Erreur requête sql
    Bonjour tout le monde .
    voilà j'essaie d’exécuter cette requête avec mon application jee sur ma base de données oracle 10g.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    private DateFormat dateformatDel = new SimpleDateFormat("dd/MM/yyyy");
    maDate = dateformatDel.format(dateSaisie);
     requete = "SELECT trans,pointVente, compte, SUM(monTrans)"
                    + "FROM transaction"
                    + "WHERE (compte LIKE '1%' OR compte LIKE '2%')"
                    + "AND(trans='10'"
                    + "OR (trans='12' AND monTrans>=1000 AND MOD(monTrans,1000)=0)"
                    + "OR  trans='13')"
                    + "AND dateTrans=TO_DATE('" + maDate + "','dd/MM/yyyy')"
                    + "GROUP BY trans,pointVente, compte ORDER BY trans,pointVente, compte";
    monResultat = monState.executeQuery(requete);
    Mais à l'exécution j'ai cette exception
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    GRAVE: null
    java.sql.SQLException: ORA-00933: SQL command not properly ended
    et la ligne en question est la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     monResultat = monState.executeQuery(requete);
    et je ne vois vraiment pas où est le problème. Merci d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 136
    Par défaut
    Il faut toujours penser à afficher le code de la requête qui s'exécute avec une erreur.
    Cela permet de voir qu'on a oublié des espaces entre les mots de la requête
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre Expert Avatar de ojo77
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2010
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 680
    Par défaut
    L'espace qui manque se situe entre le nome de la table et le mot clé WHERE

  4. #4
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    C'est le piège de la chaîne de caractères en plusieurs morceaux dans le langage applicatif !
    Toujours terminer ses morceaux de requête par un espace !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    private DateFormat dateformatDel = new SimpleDateFormat("dd/MM/yyyy");
    maDate = dateformatDel.format(dateSaisie);
     requete = "SELECT trans,pointVente, compte, SUM(monTrans) "
                    + "FROM transaction "
                    + "WHERE (compte LIKE '1%' OR compte LIKE '2%') "
                    + "AND(trans='10' "
                    + "OR (trans='12' AND monTrans>=1000 AND MOD(monTrans,1000)=0) "
                    + "OR  trans='13') "
                    + "AND dateTrans=TO_DATE('" + maDate + "','dd/MM/yyyy') "
                    + "GROUP BY trans,pointVente, compte "
                    + "ORDER BY trans,pointVente, compte ";
    monResultat = monState.executeQuery(requete);
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 136
    Par défaut
    Citation Envoyé par CinePhil Voir le message
    Toujours terminer ses morceaux de requête par un espace !
    Ou les commencer par un espace, c'est encore plus visible quand on l'oublie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    requete = "SELECT trans,pointVente, compte, SUM(monTrans)"
                    + " FROM transaction"
                    + " WHERE (compte LIKE '1%' OR compte LIKE '2%')"
                    + " AND(trans='10' "
    ...
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  6. #6
    mame06
    Invité(e)
    Par défaut
    Merci à tous. L'erreur venant exactement de là. encore merci.

Discussions similaires

  1. Réponses: 5
    Dernier message: 03/01/2023, 10h56
  2. [XL-2003] Erreur requête SQL en VBA dans Excel : colonne contenant des chiffres et des lettres
    Par Sergeith dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 04/08/2009, 13h49
  3. Erreur requête SQL en VBA dans Excel
    Par Sergeith dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/06/2009, 15h06
  4. [MySQL] Erreur requête SQL
    Par miniBob dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 12/06/2008, 15h44
  5. erreur requète SQL : trop peu de paramètres
    Par pierre.egaud dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 21/04/2006, 14h57

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