Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1672 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [Delphi + MySQL] Erreur E_FAIL, comment contourner ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Delphi + MySQL] Erreur E_FAIL, comment contourner ?

n°1018006
Kortex@HFR
Qu'ils sont cons ces lamas !!!
Posté le 18-03-2005 à 21:25:45  profilanswer
 

J'utilise une base MySQL dans une appli Delphi. Je me connecte à ma base via un DSN système, utilisant le pilote ODBC MySQL, et tout fonctionne correctement, à l'exception de la requête suivante :
 

SELECT IdHistorique, InstantDebut, InstantFin, TIMEDIFF(InstantFin, InstantDebut) AS Duree
FROM Historique
ORDER BY InstantDebut


 
Lors que je saisi cette requête dans un client MySQL type Navicat ou MySQL Query Browser, la requête fonctionne très bien et fait ce que je veux. Par contre, lorsqu'elle est exécutée depuis un TADOQuery, j'ai l'erreur suivante :
 
"Un état E_FAIL a été renvoyé par le fournisseur de données ou par un autre service."
 
Cela se produit lorsque je réalise le Open sur l'ADOQuery. De quoi cela vient-il et comment résoudre le problème ?


---------------
Au coeur du swirl - Mon feed
mood
Publicité
Posté le 18-03-2005 à 21:25:45  profilanswer
 

n°1066563
draxx
Posté le 30-04-2005 à 10:52:20  profilanswer
 

héhéhéh je m'en suis mordu les doigts de cette erreur ...
 
Le problème que tu viens de soulever est du à un bug dans MyODBC (voir release note).
 
Il se produit quand tu essais de remonter un champ date marqué comme obligatoire (NOT NULL) qui à une valeur 0000-00-00.
 
Le middleware se vautre litteralement dans ce cas. Pour résoudre le problème il faut rendre le champ comme non obligatoire ou sinon donne lui une valeur fantaisiste que tu traiteras dans ton programme (moins joli).
 
Bon courage.

n°1068476
Kortex@HFR
Qu'ils sont cons ces lamas !!!
Posté le 02-05-2005 à 10:32:23  profilanswer
 

J'ai contourné le problème en stockant la valeur de la différence des deux dates directement dans un champs INT représentatnt un nombre de secondes. Je sais, c'est pas très propre de stocker une valeur calculée, mais bon, c'est le plus simple qui m'est venu, et au moins ça tourne... :)


---------------
Au coeur du swirl - Mon feed

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [Delphi + MySQL] Erreur E_FAIL, comment contourner ?

 

Sujets relatifs
[Access] Incompatibilité Access et Mysql ???php/mysql affichage de données à partir d'une base d edonnées
Comment interpreter cette erreur en java?exporter uen table ACCESS dans une table Mysql
Access violation dans Delphi 7problème avec mysql_fetch_assoc() !!
[PHP + bd mysql] Supprimer le champ de ma tableErreur KeycodeV2.dll
Erreur d'exécution inconnueQuel est l'equivalent d'un Update via 2 tables sous MySQL?
Plus de sujets relatifs à : [Delphi + MySQL] Erreur E_FAIL, comment contourner ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR