![]() |
Datenbank: Firebird • Version: 3 • Zugriff über: IBDAC
Zeit in Firebird-DB speichern
Ich habe in Firebird in einer Tabelle eine Feld als TIME angelegt (ZEITSTART TIME) und möchte nun die Startzeit darin speichern (und zwar nur die Zeit, Datum interessiert an dieser Stelle nicht - die Eingabemaske ist ein DateTimePicker). Das versuche ich mit einer Query zu speichern:
Params[3].Value:= TimeToStr(AdvDateTimePicker2.Time); und bekomme immer einen Conversion-Error from String. Wenn ich mir allerdings das mit showmessage(TimeToStr(AdvDateTimePicker2.Time) anzeigen lasse, ist alles ok. Mache ich das gleiche mit Date (Params[2].Value:= DateToStr(AdvDateTimePicker1.Date)) funktioniert es auch. Was mache ich da falsch? Hartmut |
AW: Zeit in Firebird-DB speichern
Du hast doch auf beiden Seiten einen Zeitwert, warum gehst Du über Value und String?
Klappt es denn eventuell so:
Delphi-Quellcode:
Zumindest mit den Zeos-Komponenten dürfte das so funktionieren.
Params[3].AsTime := AdvDateTimePicker2.Time;
Nachtrag: ![]() Da TDateTime und damit Time in Delphi letztlich Floats sind, könnte .AsFloat auch noch 'ne Alternative sein. |
AW: Zeit in Firebird-DB speichern
Hallöle...8-)
:warn: Niemals Zeit oder Datum als String in die DB speichern! Richtig hast du es ja schon gemacht. Zitat:
Speichern:
Delphi-Quellcode:
oder
Params[3].Value:= AdvDateTimePicker2.Time;
Delphi-Quellcode:
ParamByName('BlubbOderSo').AsDateTime:= AdvDateTimePicker2.Time;
|
AW: Zeit in Firebird-DB speichern
Danke euch beiden!
Ich habe es jetzt wie von Delphi.Narium vorgeschlagen gelöst: Params[3].AsTime := AdvDateTimePicker2.Time; Das funktioniert jetzt! Warum das mit Date funktioniert ist mir jetzt nicht ersichtlich, aber solange es funktioniert... Hartmut |
AW: Zeit in Firebird-DB speichern
Meine Regel diesbezüglich ist einfach und konsequent:
Links vom := wird immer .AsDatentyp genommen, der dem rechts vom := entspricht. .Values nur dann, wenn ich nicht weiß, was rechts vom := steht. Und das war bisher noch nie der Fall ;-) Values ist ein Variant. Bei dem wird der Inhalt immer interpretiert. Man weiß also nie so 100%ig genau, ob der Inhalt auch so interpretiert wird, wie man es erwartet. Bei Deinem konkreten Fall scheint genau diese Unsicherheit "zuzuschlagen". |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz