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

Requêtes MySQL Discussion :

Exécution d'une requete avec passage d'une date en paramètre


Sujet :

Requêtes MySQL

  1. #1
    Baf
    Baf est déconnecté
    Membre à l'essai
    Homme Profil pro
    Consultant BI
    Inscrit en
    Mars 2002
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant BI

    Informations forums :
    Inscription : Mars 2002
    Messages : 22
    Points : 20
    Points
    20
    Par défaut Exécution d'une requete avec passage d'une date en paramètre
    Bonjour,

    Je viens de migrer vers Mysql 4.1 et je n'arrive plus à exécuter une requete prenant en paramètre une date

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM TABLE_NAME WHERE TABLE_DATE = :TABLE_DATE
    Pour tester cette requete, je passe par ODBC, or et je défini le paramètre comme type ftDate, mais j'ai toujours l'erreur :"Operation non applicable".

    Si quelqu'un a une idee, Merci

    Baf

  2. #2
    Membre confirmé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 920
    Points : 606
    Points
    606
    Par défaut Re: Exécution d'une requete avec passage d'une date en param
    Citation Envoyé par Baf
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM TABLE_NAME WHERE TABLE_DATE = :TABLE_DATE
    Baf
    Bonjour,
    n'est-ce pas parce qu'il peut y avoir une confusion entre la colonne TABLE_DATE et le paramètre du même nom ?

    --
    Cordialement
    Christophe Charron

  3. #3
    Baf
    Baf est déconnecté
    Membre à l'essai
    Homme Profil pro
    Consultant BI
    Inscrit en
    Mars 2002
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant BI

    Informations forums :
    Inscription : Mars 2002
    Messages : 22
    Points : 20
    Points
    20
    Par défaut
    Non peut importe le nom de ton paramètre du moment qu'il y a les ":" devant.

  4. #4
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Salut,

    On peut avoir un extrait de ton code ?

  5. #5
    Baf
    Baf est déconnecté
    Membre à l'essai
    Homme Profil pro
    Consultant BI
    Inscrit en
    Mars 2002
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant BI

    Informations forums :
    Inscription : Mars 2002
    Messages : 22
    Points : 20
    Points
    20
    Par défaut
    C'est via Borland C++ Builder 6.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     Query1->SQL->Text = "SELECT PID, DESCR FROM TEST.PORTFOLIO WHERE PDATE = :PDATE" ;
     Query1->Params->Items[0]->DataType = ftDate ;
     Query1->Params->Items[0]->Value = TDateTime(38533) ; // 38533 => '2005-06-30'
     Query1->Open() ;

  6. #6
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Apparemment le paramètre n'est pas passé, MySQL prend le DATE tel quel.

    Tu es sûr de la syntaxe ?
    Je pense que tu pourrais aussi poster dans le forum C++ Builder.

  7. #7
    Baf
    Baf est déconnecté
    Membre à l'essai
    Homme Profil pro
    Consultant BI
    Inscrit en
    Mars 2002
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant BI

    Informations forums :
    Inscription : Mars 2002
    Messages : 22
    Points : 20
    Points
    20
    Par défaut
    Je suis sure de la syntaxe car cela fonctionnait avec la version 3.23 de MySQL et ce problème n'est valable que pour les champs de types Date ou DateTime.

    Sinon j'ai trouvé un contournement de ce problème qui consiste à définir le paramètre en tant que chaine de caractère sous la forme "aaaa-mm-jj".

    Merci pour votre temps dépensé à me venir en aide.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/10/2010, 23h55
  2. Creer une requete avec des LEFT JOIN et des GRO
    Par donbuz dans le forum Langage SQL
    Réponses: 2
    Dernier message: 01/09/2004, 15h53
  3. Probleme d'execution d'une requete avec un Count
    Par PrinceMaster77 dans le forum ASP
    Réponses: 4
    Dernier message: 23/06/2004, 10h33
  4. Réponses: 13
    Dernier message: 10/05/2004, 16h49
  5. PB avec MATCH dans une requete.
    Par pjl dans le forum Requêtes
    Réponses: 4
    Dernier message: 15/04/2004, 11h18

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