Bonjour,
Sous Delphi Xe, MsSql Express 2012, en utilisant un ADOConnection et un ADoQuery très simple (SELECT * FROM MYTABLE WHERE ID=1) cela me retourne un DataSet contenant 1 record (normal).
Lorsque j'essaie d'accéder à une information définie comme type DATE (au niveau de MSSql) je me rends compte que le champ (TField) est de type TStringField et non TDateTimeField et que donc ;
DataSet.FieldByName( 'DATE' ).Value me retoune une chaine de caractères (contenant bien la date YYYY-MM-DD) et pas une valeur de type TDateTime.
Mon application est actuellement fonctionnelle avec MySql, FireBird et Access via ADO (avec ces 3 autres SGBD cela retoune bien une date) et j'essaie d'être le plus "générique" possible dans la gestion des requêtes SQL et gestion des données c'est pourquoi je ne peux pas faire une conversion String > Date "manuelle" sinon je crée un cas particulier dans les modules de haut niveau qui ne savent pas quel SGBD est utilisé.
PS : dans les commande sINSERT et dans SQL Management Studio les dates sont au format 'YYYY-MM-DD' alors que j'ai un windows FR et SQL Express 2012 FR.
Partager