Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Datum des DateTimePickers in Timestamp umwandeln (https://www.delphipraxis.net/107854-datum-des-datetimepickers-timestamp-umwandeln.html)

Chrissi91 3. Feb 2008 16:20


Datum des DateTimePickers in Timestamp umwandeln
 
Hi,

ich möchte gerne eine MySQL-Abfrage mit Delphi ausführen. Die tabelle hat eine Spalte "datum" in der ein Timestamp steht. Der User kann mit dem TDateTimePicker ein Datum auswählen und es sollen alle Einträge, deren Timestamp von dem Tag sind, eingelesen werden.

Delphi-Quellcode:
datum_von := ????;
datum_bis := ????;
query := 'SELECT * FROM tabelle WHERE name="' + edtName.Text + '" AND datum>' + datum_von + ' AND datum<' + datum_bis + ' ORDER BY id';
Wenn der User den 03.02.2008 angibt, brauch ich den Timestamp vom 03.02.2008 0:00:00 und 03.02.2008 23:59:59

Hat jemand eine Idee, wie ich das am Besten umsetze?

DeddyH 3. Feb 2008 16:35

Re: Datum des DateTimePickers in Timestamp umwandeln
 
Zitat:

If you assign a DATE value to a DATETIME or TIMESTAMP object, the time part of the resulting value is set to '00:00:00' because the DATE value contains no time information.
Quelle: http://dev.mysql.com/doc/refman/5.1/en/datetime.html

Von daher versteh ich das Problem nicht ganz :gruebel:

Chrissi91 3. Feb 2008 17:31

Re: Datum des DateTimePickers in Timestamp umwandeln
 
Naja. Ich verstehs trotzdem nicht. Wie kann ich aus DateTimePicker.Date mit der Uhrzeit 00:00:00 121441654 o.ä. bekommen?

DeddyH 3. Feb 2008 17:34

Re: Datum des DateTimePickers in Timestamp umwandeln
 
Wozu? Übergib doch einfach das Datum. Ansonsten hab ich auf die Schnelle nicht das korrekte Format für den MySQL-Timestamp in Erfahrung bringen können, daher könntest Du es mal mit DateTimeToTimeStamp oder DateTimeToUnix versuchen.

mkinzler 3. Feb 2008 17:37

Re: Datum des DateTimePickers in Timestamp umwandeln
 
Oder mit (SQL-)Parametern arbeiten.

DeddyH 3. Feb 2008 17:38

Re: Datum des DateTimePickers in Timestamp umwandeln
 
Zitat:

Zitat von mkinzler
Oder mit (SQL-)Parametern arbeiten.

Genau, und da Parameter.AsDate und fertig ist der Lack.

Sharky 3. Feb 2008 17:44

Re: Datum des DateTimePickers in Timestamp umwandeln
 
Hai Chrissi91,

wenn ich dein erstes Posting richtig verstehe möchtest Du aus einer Tabelle Daten für einen bestimmten Tag (Datum) auslesen.
Wenn ja solltest Du in deiner Abfrage nur den Datumsteil des Feldes Datum berücksichtigen und nich mit der Uhrzeit "herumspielen".
Den Datumsteil eines DateTime Feldes bekommst Du bei mySQL mit DATE() geliefert.

Chrissi91 3. Feb 2008 19:33

Re: Datum des DateTimePickers in Timestamp umwandeln
 
Also es tut mir leid, wenn ich euch weiter auf die Nerven gehe, aber ich krieg das einfach nicht gebacken. Erstmal das Einfache.

Ich habe aus der MySQL-DB das Feld Datum vom Typ integer ausgelesen und einer Integer-Variable zugeordnet. In der Integervariable befindet sich ein TimeStamp. Diesen will ich in das normale Datum und Uhrzeitformat umwandeln: TT.MM.JJJJ HH:SS.

TimeStampToDateTime, etc. funzt nicht. Bin ich blöd oder kann das Delphi einfach nicht. Gibts dazu vielleciht eine Unit oder wie setzt sich der Timestamp zusammen. Ich könnte mir natürlich selbst eine Funktion schreiben die das umwandelt. 1.1.1970 um 0:00 war ja Timestamp 0 oder? Und dann immer 1 Sekunde draufrechnen. :D Bei der Zeit, in der ich jetzt schon probiere, hätte ich das bestimmt schon geschafft. :D

marabu 3. Feb 2008 19:42

Re: Datum des DateTimePickers in Timestamp umwandeln
 
Hallo Christopher,

nicht TimeStampToDateTime, sondern UnixToDateTime musst du nehmen.

Freundliche Grüße


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:10 Uhr.

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