Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   TDateTime und Timestamp (https://www.delphipraxis.net/201350-tdatetime-und-timestamp.html)

Trafel21 15. Jul 2019 08:43

Datenbank: firebird • Version: 2.5 • Zugriff über: Delphi XE

TDateTime und Timestamp
 
Hallo zusammen,

ich hab in Delphi eine Variablentyp TDateTime dessen Wert ich in eine Timestamp Datenfeld in Firebird übergeben möchte.

Momentan sieht es bei mir so aus:

Code:
today: TDateTime;

IB_PhoneCallCALLTIME_START.AsString := DateTimeToStr(today);
Es wird nur kein Wert übermittelt. Weiß jemand evtl woran es liegt?

Codehunter 15. Jul 2019 08:49

AW: TDateTime und Timestamp
 
Mit .AsDateTime?

dataspider 15. Jul 2019 08:53

AW: TDateTime und Timestamp
 
Zitat:

Zitat von Trafel21 (Beitrag 1436739)
Code:
today: TDateTime;

Ist das eine Variable? Dann überschreibst / versteckst du die Function Today aus DateUtils...

Wenn Feld DateTime, warum dann 2 Mal die Umwandlung in string?
Code:
DateTimeField.Value := Today:
reicht, wenn aktuelles Datum gewünscht...

oder
Code:
Var
  LDatum: TDateTime;
...
DateTimeField.Value := LDatum:
... wenn irgendein Datum...


oder das Feld gleich als default current_date definieren...

Frank

Trafel21 15. Jul 2019 08:54

AW: TDateTime und Timestamp
 
Zitat:

Zitat von Codehunter (Beitrag 1436740)
Mit .AsDateTime?

... hab ich wirklich nicht gefunden. Schusselkeitsfehler... danke.

Trafel21 15. Jul 2019 08:58

AW: TDateTime und Timestamp
 
Zitat:

Zitat von dataspider (Beitrag 1436741)
Zitat:

Zitat von Trafel21 (Beitrag 1436739)
Code:
today: TDateTime;

Ist das eine Variable? Dann überschreibst / versteckst du die Function Today aus DateUtils...

Wenn Feld DateTime, warum dann 2 Mal die Umwandlung in string?
Code:
DateTimeField.Value := Today:
reicht...

oder das Feld gleich als default current_daten definieren...

Frank

Vielen Dank! :)

Codehunter 15. Jul 2019 09:00

AW: TDateTime und Timestamp
 
Zitat:

Zitat von dataspider (Beitrag 1436741)
Code:
DateTimeField.Value := Today:

Das sehe ich in letzter Zeit öfters hier. Den Umweg über Variant finde ich aber auch nicht wirklich prickelnd. Wenn man den Datentyp kennt sollte man IMHO so ansprechen. Der Compiler ist nicht unfehlbar was die automatische Erkennung angeht.

Delphi.Narium 15. Jul 2019 09:11

AW: TDateTime und Timestamp
 
Zitat:

Zitat von Codehunter (Beitrag 1436745)
Zitat:

Zitat von dataspider (Beitrag 1436741)
Code:
DateTimeField.Value := Today:

Das sehe ich in letzter Zeit öfters hier. Den Umweg über Variant finde ich aber auch nicht wirklich prickelnd. Wenn man den Datentyp kennt sollte man IMHO so ansprechen. Der Compiler ist nicht unfehlbar was die automatische Erkennung angeht.

Macht das denn schon der Compiler?

Dachte immer das Vairant zur Laufzeit "irgendwie interpretiert wird" (und wenn man Glück hat, kommt das Richtige dabei raus ;-) - meistens ;-))

Variant nutze ich nur, wenn ich mich auf die Interpretation verlassen muss, z. B. bei OleObjekten.

Weiß ich, um was für einen Typ es sich handelt, dann nutze ich den auch. Also: .AsString, .AsInteger, .AsDateTime ... Hat den Vorteil, dass auch die Typsicherheit gewahrt bleibt.

p80286 15. Jul 2019 09:18

AW: TDateTime und Timestamp
 
Eigentlich kennt jede DB "today" das muß nicht von aussen kommen.
Vor allem Bei DB die über mehrere Standorte weltweit verteilt snd ist das vorteilhaft.

Gruß
K-H

Uwe Raabe 15. Jul 2019 10:11

AW: TDateTime und Timestamp
 
Zitat:

Zitat von Codehunter (Beitrag 1436745)
Zitat:

Zitat von dataspider (Beitrag 1436741)
Code:
DateTimeField.Value := Today:

Das sehe ich in letzter Zeit öfters hier. Den Umweg über Variant finde ich aber auch nicht wirklich prickelnd. Wenn man den Datentyp kennt sollte man IMHO so ansprechen. Der Compiler ist nicht unfehlbar was die automatische Erkennung angeht.

Wenn DateTimeField ein
Delphi-Quellcode:
TDateTimeField
ist, dann ist das Property
Delphi-Quellcode:
Value
kein
Delphi-Quellcode:
Variant
, sondern ein
Delphi-Quellcode:
TDateTime
. Nur bei einem
Delphi-Quellcode:
TField
ist Value ein
Delphi-Quellcode:
Variant
.

Codehunter 15. Jul 2019 10:22

AW: TDateTime und Timestamp
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1436754)
Wenn DateTimeField ein
Delphi-Quellcode:
TDateTimeField
ist, dann ist das Property
Delphi-Quellcode:
Value
kein
Delphi-Quellcode:
Variant
, sondern ein
Delphi-Quellcode:
TDateTime
. Nur bei einem
Delphi-Quellcode:
TField
ist Value ein
Delphi-Quellcode:
Variant
.

Lach ok, war mir neu. Aber auch irgendwie verwirrend. Ich arbeite nicht mit dem grafischen Feldeditor sondern i.d.R. mit FieldByName oder Fields[0]. Daher habe ich auch in den allermeisten Fällen kein TIrgendeinTypField sondern eben nur ein simples TField. Und dort ist .Value eben ein Variant ^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:39 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz