2017-10-03 4 views
0

J'ai un champ dans ma base de données appelé 'Times', c'est un format de date/heure et son format est 'short time'. Dans ma base de données, la date ne s'affiche pas et n'est pas ajoutée à la base de données, comme je le sais. Ce n'est que la valeur de l'heure. Mon DBGrid montre le champ de temps avec la valeur de temps et la date '12/30/1899 '. Comment puis-je me débarrasser de la date dans mon champ de temps.Mon champ de temps dans mon DBGrid montre la date et l'heure au lieu de l'heure seulement - delphi

Voici le code que j'ai utilisé pour soumettre à la base de données. Obtenez valeur temps:

bookingtimes:= timeof(dttime.Time); 

Soumettre à la base de données:

tblbooking.FieldByName('Times').AsDateTime:=bookingtimes; 

Exemple de sortie de la colonne DBGrid 'Times:

12/30/1899 7:02:01AM 
+1

Si vous posez des questions sur le réglage du format d'affichage, configurez 'DisplayFormat', par ex. à 'hh: mm: ss' pour votre champ persistant. Ou déclarez un champ calculé persistant et déposez la partie date au calcul. Ou supprimez la partie date dans une commande SQL (en utilisant 'CAST'). Je suis un peu confus au sujet de la balise utilisée [tag: datetimepicker] ici cependant. – Victoria

+0

@Victoria D'accord 'DateTimePicker' n'a pas d'effet sur elle. – Sami

Répondre

3

Si je comprends ce que vous entendez cela fonctionnera pour vous , il suffit de suivre ces étapes:

  • Ceci est votre problème:

  • Double-cliquez sur votre table, et sélectionner le champ Times:

  • Après avoir cliqué sur votre domaine, allez au Object Inspector et trouvez DisplayFormat propriété:

  • Écrivez le format, dans votre cas hh:mm:ss:

  • Maintenant, nous allons voir le résultat:

C'est tout.

+0

Merci pour le détail, étape par étape, mais je n'ai pas de format d'affichage lorsque je clique sur mon champ Times. Qu'est-ce que je fais pour l'obtenir? Ma colonne renvoie un TColumn plutôt qu'un TDateTimeField. – crackedlogic

+0

@crackedlogic Avez-vous fait un clic droit sur la table puis cliquez sur 'ajouter tous les champs'? – Sami

+0

Oui, alors j'ai cliqué sur le champ 'Times' et je suis passé à l'inspecteur d'objets. – crackedlogic