Bonjour,
Voila je développe un système qui enregistre toutes les heures des données dans une BD Access 97. Dans la table PAC il y a 4 champs :
Autonumber
Date/Time Nom=Date
Number Nom=HC
Number Nom=HP
En Delphi j'essai d'ajouter l'information, alors je fais :
Avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 with ADOQuery do begin SQL.Add('SELECT * From PAC'); Connection:=ADOConnection; CursorLocation:= clUseClient; LockType:= ltOptimistic; CursorType:=ctStatic; Active:=true; Insert; FieldByName('Date').Value:=DateTimeForSQL(GetTime()); FieldByName('HC').Value:=4444; FieldByName('HP').Value:=1967; Post; end;
Mais a l'exécution il me met :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 function DateTimeForSQL(const dateTime : TDateTime) : string; var y, m, d : word; hour, min, sec, msec : word; begin DecodeDate(dateTime, y, m, d) ; DecodeTime(dateTime, hour, min, sec, msec) ; result := Format('#%.*d-%.*d-%.*d %.*d.%.*d.%.*d#',[4, y, 2, m, 2, d, 2, hour, 2, min, 2, sec]) ; end;
Could not convert variant of type (String) into type (Date). Par contre quand je mets GetTime() a la place de DateTimeForSQL(GetTime()) ça marche. Mais ce que je veux qu'il apparaisse dans le champ date c'est une date de la forme dd/mm/yy hh:mm:ss
Je ne comprends pas comment je peux faire.
Merci de votre aide
Denis
Partager