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

Bases de données Delphi Discussion :

EDBEngineError sur une requête pour MySQL


Sujet :

Bases de données Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 30
    Points : 16
    Points
    16
    Par défaut EDBEngineError sur une requête pour MySQL
    Bonjour camarade développeur,

    Voici mon problème.

    J'ai une requête SELECT que j'execute sur une base MySQL. Le soucis c'est qu'à l'ouverture de cette requête, Delphi me donne une erreur. Je copie/colle la même requête dans mon outil de base de données (SQLYog), j'execute sans rien changer et je n'ai aucun message d'erreur.

    Je cherche donc à afficher le message d'erreur de Delphi pour savoir quelle ligne de la requête le gène mais le message ne s'affiche pas en entier.

    Mon test :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    try
       ModuleDonnees.SQLTemp2.Open;
    except
       on E:EDBEngineError do
          ShowMessage(E.Message);
    End;
    Le message d'erreur tronqué :

    Erreur SQL générale.
    [TCX][MyODBC]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the righ
    syntax to use near '\"%d/%m/%Y %H:%i\")) 'Job',
    SUM(LOT.LotPages) 'Pages',
    (SELE
    J'vais pas vous mettre ma requête parce qu'elle est très grande.

    Merci de vos lumières...

    [Balises code ajouter par Giovanny Temgoua]

  2. #2
    Rédacteur
    Avatar de Giovanny Temgoua
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2003
    Messages
    3 830
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2003
    Messages : 3 830
    Points : 4 006
    Points
    4 006
    Par défaut
    On risque y voir que du feu si tu ne postes pas ta requête

    Sinon quelques "erreurs" classiques. Utilise QuotedStr pour mettre tes variables entre guillements, Utilises des paramètres pour comparer tes dates etc...

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 30
    Points : 16
    Points
    16
    Par défaut
    Le fait est que cette requête, je l'écris dans un fichier (donc les quotes, les date etc... y sont interprêtés), je copie cette requête dans SQLYog, je l'exécute sans modification et il n'en ressort aucune erreur de syntax.

    Donc dans l'immédiat, ce que je voudrais, c'est récupérer ce message d'erreur en entier...




    PS : Je t'assure que ca risque de faire très lourd à l'écran ma requête avec ses 14 SELECT imbriqués...
    Mais si tu insistes...

  4. #4
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Il serait préférable de voir ta requete, car le problème vient d'une mauvais interprétation du BDE et je suis sur qu'on doit pouvoir la reduire pour faire la même chose
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 30
    Points : 16
    Points
    16
    Par défaut
    Bon, c'est résolu ! J'ai trouvé l'erreur.
    Le fait est que ce n'est pas MySQL qui renvoyait l'erreur mais l'ODBC. D'où le succès de la requête dans SQLYog mais pas dans Delphi...

    Bon, pour l'infos, j'vais au moins mettre le morceau de la requête qui n'allait pas :

    SELECT CONCAT(ADP.Cle_JobName,' ', ADP.Cle_JobNum_ADP,' ',DATE_FORMAT(ARV.EDate, \"%d/%m/%Y %H:%i\")) 'Job' ...
    Jolie erreur de ma part, j'avais récupérer, faignant que je suis, la fonction "DATE_FORMAT" d'un script PHP, d'où les [\] pour les guillemets...
    Et j'avais oublié de les enlever...

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

Discussions similaires

  1. [AC-2003] Faire SOMME.SI sur une requête pour produire un etat
    Par christophesav dans le forum IHM
    Réponses: 2
    Dernier message: 12/12/2011, 01h49
  2. Réponses: 2
    Dernier message: 07/02/2011, 17h34
  3. Formulation d'une requête pour bdd mysql
    Par tazmania dans le forum Langage SQL
    Réponses: 7
    Dernier message: 16/06/2007, 11h49
  4. modifier une requête pour mysql 4.0.18
    Par lina01 dans le forum Requêtes
    Réponses: 1
    Dernier message: 20/11/2006, 11h38
  5. besoin d'aide sur une requête mysql
    Par unmulot dans le forum Langage SQL
    Réponses: 5
    Dernier message: 07/07/2006, 13h17

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