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

MySQL Discussion :

MySQL + c++ builder : Filtre sur date inposible


Sujet :

MySQL

  1. #1
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2007
    Messages : 128
    Par défaut MySQL + c++ builder : Filtre sur date inposible
    [Bonjour,

    Je suis occuper sur un programme en c++ builder. Se programme se connecte un un BD en MySQL.
    j'ai un petit probléme pour filré des donnée sur la date.
    J'ai bien sur déjat posée la question sur le forum c++, mais on ma renvoyer ici car pas trouvée de solution. ( http://www.developpez.net/forums/d61...icable-ttable/ )

    le probléme vien de mon filtre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Filter="date = '2008-09-01'"
    sa me renvoi quand la ligne est exécuté : "Le projet à déclanché la classe d'exeption EDBEngineError avec le message 'Opération non applicable.' "

    Le champs date et de type DATE sous MySQL.

    Si vous pouver m'eclairé... Merci

  2. #2
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Par défaut
    salut,

    est il possible de voir la requête SQL entière?

    deja, utiliser le mot date pour nommer une colonne est à éviter....
    essaye comme ceci : `date`

  3. #3
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2007
    Messages : 128
    Par défaut
    Citation Envoyé par Cybher Voir le message
    est il possible de voir la requête SQL entière?
    Non, car s'est pas vraiment une requétte SQL au sense propre du therme.
    le filtre corespon +- à se que vous meterait apres le WHERE


    Citation Envoyé par Cybher Voir le message
    deja, utiliser le mot date pour nommer une colonne est à éviter....
    essaye comme ceci : `date`
    J'y ai pensé : 'date' ne donne plus d'erreur, mais je n'ai aucun enregistrement d'affiché.
    J'ai ausi eseyer de changer le nom de mon champ, mais la méme erreur s'est reproduite.

  4. #4
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Par défaut
    remplace les '' qui entoure date par des ``, cela donne t-il quelque chose?

    as tu la possibilité de tester la requête SQL sans passer par c++?

  5. #5
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2007
    Messages : 128
    Par défaut
    avec ` j'ai comme erreur : "caractère d'expresion filtre incorect"

    j'ai donner comme requéte à phpMyAdmin :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT * 
    FROM TSA 
    WHERE date = '2008-09-01'
    et sa marche,

    Mais pas dans mon programme en c++

  6. #6
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Bonjour,
    je viens préciser un peut le fonctionnement sous BCB pour ceux qui ne connaisse pas.
    En fait, il y as plusieurs composant, un pour la connexion à la base de donnée, un pour la récupération des données et plusieurs, qui eux sont graphique et qui affiche donc les données récupéré.
    Ses composant graphique, on peut les associé avec une table de la base de données, pour faire en sorte qu'ils affiche toujours les données de cette table.
    Dans c'est composant on peut donc spécifier dans la propriété Filter, une condition, sous format SQL, pour n'afficher qu'une partie de cette table.

    Le composant fait donc un requête SELECT simple avec éventuellement un close WHERE si le filtre est renseigné, cela permet aux utilisateur qui ne connaise pas forcement le SQL de gérer facilement la base de données de l'application.

    fpascal doit surement pouvoir executer la requête ailleurs pour la tester, mais ne doit pas savoir comment faire, ni quelle requete exécuter car elle doit etre refait de toute piece en fonction de ces paramètre.

    Voila pour les prècisions

  7. #7
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 952
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 952
    Par défaut
    Salut,

    Tout d'abord je te précise que je ne connais absolument pas c++ builder, mais dans la série des trucs à tester :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Filter="\"date\" = '2008-09-01'"
    le \ servant à échapper le " en php, je te laisse choisir l'opérateur adéquate en c++ builder.
    Ou alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Filter="date = date('2008-09-01')"
    voir une combinaison des 2.
    Mais bon c'est vraiment sans garantie.

    PS : t'aurais pas dans une autre table une colonne au format date qui ne s'appelle pas date, histoire de tester s'il n'y a pas un soucis avec l'utilisation du mot clé date.

  8. #8
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2007
    Messages : 128
    Par défaut
    bingo , je vien de trouvé ou est le probléme.

    le probléme se situe au niveau de mon Unique
    j'ai suprimer mon Unique, et mainteant le filtre marche...par contre j'ai plus de controle d'Unique

    Si je remet mon Unique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE `TSA` ADD UNIQUE( `date`, `time`);
    Mon filtre ne marche plus??
    On dirait qu'il à confli???

  9. #9
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2007
    Messages : 128
    Par défaut
    salut,

    personne n'aurait une solution pour que je puise recréer mon unique sur mes deux champs, sans que sa géne mes recherche??

    Car je trouve cette unique bien pratique, car évite que l'on encode 2 foit les méme donnée.

    pour info ma table se compose des champs : date, time, data
    il ne peut pas avoire 2 donnée en méme temps.

Discussions similaires

  1. [BOXI] Problème de filtre sur date
    Par Julien59 dans le forum Deski
    Réponses: 6
    Dernier message: 10/06/2008, 10h25
  2. Filtre sur date du jour + date du jour+1
    Par pierrot67 dans le forum Bases de données
    Réponses: 6
    Dernier message: 16/05/2007, 07h21
  3. [MySQL 5] Double tri sur date et time
    Par titoine1978 dans le forum Langage SQL
    Réponses: 8
    Dernier message: 18/06/2006, 19h46
  4. Problème de filtre sur date avec ADOQuery
    Par lingli dans le forum Bases de données
    Réponses: 12
    Dernier message: 30/04/2006, 15h40
  5. Filtre sur date
    Par MagicManu dans le forum Requêtes
    Réponses: 2
    Dernier message: 20/08/2005, 00h05

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