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 :

Requête SQL clause WHERE


Sujet :

JDBC Java

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Requête SQL clause WHERE
    Bonjour à tous,

    Je suis en train de créer une application Java, avec lien vers une BDD en utilisant EasyPHP et MySQL.

    On arrive à importer toutes les données dans un tableau (6600 lignes), seulement impossible de les 'filtrer' avec des 'where' ou des 'limit':
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT consommation.Date, valeursjournalieres.00h00,valeursjournalieres.0h30,[...], valeursjournalieres.23h30
      FROM consommation INNER JOIN valeursjournalieres ON consommation.CleJours = valeursjournalieres.CleJours 
      WHERE consommation.Date like '%07/07/07%' ;
    Quelqu'un saurait-il m'indiquer s'il y a une manipulation spéciale à faire pour la clauses where ?

    Merci d'avance pour votre aide.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 394
    Points : 639
    Points
    639
    Par défaut
    Bonjour,

    Un like sur une date, je ne suis pas sûr que ça fonctionne. Il faut utilise DATE_FORMAT plutôt.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT consommation.Date, valeursjournalieres.00h00,valeursjournalieres.0h30,[...], valeursjournalieres.23h30 FROM consommation INNER JOIN valeursjournalieres ON consommation.CleJours = valeursjournalieres.CleJours WHERE DATE_FORMAT(consommation.Date, '%Y %m %d') = DATE_FORMAT('2007-07-07', '%Y %m %d');"
    Regarde dans la doc mysql il y a d'autres fonction sur les dates : MONTH, YEAR, BETWEEN, >=, <=, <, >, ...

    Romain.

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci de ta réponse rapide

    Les dates ne sont pas dans un format date en fait, mais sous la forme d'une chaine de caractères du type "ven 07/11/12", c'ets pour ça qu'on aimerais sélectionner des dates avec '%07/11/12'

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 394
    Points : 639
    Points
    639
    Par défaut
    C'est assez exotique d'enregistrer des dates au format que tu décris... à ta place j'utiliserai le format Date SQL qui te permet de profiter des fonction de ton SGBD. Je ne sais pas si les performances sont importantes pour toi mais le like n'est pas performant et ne peux pas exploiter les index, alors qu'avec les opérateur >,<,>=,<= tu peux profiter d'index.

    Citation Envoyé par bentrooper Voir le message
    On arrive à importer toutes les données dans un tableau (6600 lignes), seulement impossible de les 'filtrer' avec des 'where' ou des 'limit':
    Qu'entends tu par "impossible de filtrer" ? As-tu une erreur sql (auquel cas merci de nous la montrer) ? Ou alors c'est que la requête te remonte aucun résultat ?

    Tu peux nous montrer quelques lignes de ta table ça nous aidera à voir ce qui ne va pas dans ta requête !

    PS : Je risque de ne pas répondre ce week-end, n'hésite pas à relancer le sujet lundi !

    Romain.

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Nous n'avons pas pus mettre les dates au format date, parce que nous avons créé la bdd à patir d'une feuille excel (la "bdd" de l'entreprise que nous devons optimiser).

    Apparemment, la requête executeQuery() ne prend en compte que les requêtes SELECT, d'où notre problème.

    Nous ne trouvons pas d'autre commande pour avoir et SELECT, et WHERE. Avez vous une idée?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 394
    Points : 639
    Points
    639
    Par défaut
    Tu peux nous montrer le bout de code qui pose problème ? Tu peux faire une close WHERE avec un executeQuery.

    As-tu essayé d'exécuter ta requête SQL directement dans PHPmyadmin pour vérifier qu'elle te retournait bien des résultats ?

    Romain.

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    La requête fonctionne parfaitement sur PhpMyAdmin, par contre la clause Where n'est pas prise en compte.


    On vient de trouver: il fallait utiliser un prepareStatement(**requête sql avec la clause WHERE**);

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

Discussions similaires

  1. requete SQL clause WHERE avec variable
    Par gabule dans le forum JDBC
    Réponses: 6
    Dernier message: 09/01/2019, 11h04
  2. [Oracle / Sql] clause where avec resultat d'une requete
    Par shaun_the_sheep dans le forum Oracle
    Réponses: 2
    Dernier message: 31/01/2006, 09h37
  3. [SQL] clause Where sur un booléen
    Par mosquitout dans le forum Access
    Réponses: 3
    Dernier message: 21/12/2005, 21h29
  4. pb the requête sql clause UNION
    Par new_wave dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 07/11/2005, 13h38
  5. État, Requète et clause Where(SQL)
    Par Philippe299 dans le forum Access
    Réponses: 2
    Dernier message: 12/09/2005, 00h22

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