![]() |
Re: Vergleichen von strings in der datenbank
SQLite speichert Datumswerte normalerweise als Strings im Format YYYY-MM-DD.
Wenn das befüllen der Datenbank also so stattgefunden hat, dann sollten die Daten auch im korrekten Format vorliegen. Bei einem einfachen SELECT bzw. der Ausgabe per z.B. FieldByName('erstellt').AsString über die ZEOS bekommt er durchaus die Rückgabe im deutschen Datumsformat (gerade getestet). Sind die Daten allerdings im Format DD.MM.YYYY als String gespeichert worden, dann... ...weiß ich im Augenblick auch nicht weiter. |
Re: Vergleichen von strings in der datenbank
Zitat:
Entweder du speicherst die Felder als DATE-Feld oder als Stringfeld in dem Format: JJJJMMTT (Beispiel: 20080321) Andernfalls kannst du nicht nach Datum sortieren. |
Re: Vergleichen von strings in der datenbank
Laut Referenz kennt SQLite CAST(). Man könnte Testen ob es so funktioniert
|
Re: Vergleichen von strings in der datenbank
hmm ich habe mir überlegt das es ja seine richtigkeit haben muss
also habe ich das in der SQLite datenbank die felder in Timestamp geändert nun bekomme ich die daten nicht in die tabelle und zwar mache ich es so
SQL-Code:
nun DB_Inerst will einen String haben
DB_INSERT('Insert Into PfadBilder ("PFAD","MD5","erstellt","geaendert") Values ("'+aListe[n]+'","'+MD5DigestToStr(MD5File(aListe[n]))+'","'+SQLTimeStampToStr(DateTimeToSQLTimeStamp(GetCreatTime(aListe[n])))+'","'+SQLTimeStampToStr(DateTimeToSQLTimeStamp(GetTime(aListe[n])))+'")');
und ich bekomme die Meldung das TimeStamp nit kompatibel mit String ist hmm aber ich sollte durch dieses konstruckt doch einen string oder ?
Delphi-Quellcode:
oder sehe ich das falsch
SQLTimeStampToStr(DateTimeToSQLTimeStamp(GetCreatTime(aListe[n])))
hmm muss ich ja |
Re: Vergleichen von strings in der datenbank
Was liefert GetCreateTime()?
|
Re: Vergleichen von strings in der datenbank
TDateTime
|
Re: Vergleichen von strings in der datenbank
Versuch mal
Delphi-Quellcode:
Oder (SQL-)Parameter
DateTimeToStr(GetCreatTime(aListe[n]))
|
Re: Vergleichen von strings in der datenbank
jap
das hatte ich vorher aber ich muss das ja in SQL format haben so bekomme ich ja 01.05.2002 wieder statt 2002-05-01 und das wollte ich umgehen |
Re: Vergleichen von strings in der datenbank
Der kannst der Konvertierungsfunktion das Format mitgeben.
|
Re: Vergleichen von strings in der datenbank
Versuch's doch mal so:
Delphi-Quellcode:
und dein SQL String:
s := FormatDateTime('yyyy-mm-dd', GetCreatTime(aListe[n]));
SQL-Code:
...oder mkinzler's Version mit dem Formatstring
'Insert Into PfadBilder ("PFAD","MD5","erstellt","geaendert") Values ("'+aListe[n]+'","'+MD5DigestToStr(MD5File(aListe[n]))+'","'+ s + '","' + s +'")';
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:01 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