Datum konvertieren
-
Hallo zusammen,
gibt es eine Funktion mit der man ein Datum im Format 'YYYY-MM-DD' automatisch in das Format 'DD.MM.YYYY' konvertieren kann?
Für eure Hilfe bin ich euch dankbar.
Gruss
chloe
-
Hallo
über TDateTime sowie die Funktionen StrToDateTime() unf FormatDateTime()
bis bald
akari
-
Danke für die schnelle Antwort.
Hab jetzt noch folgendes Problem.
Bekomme bei folgender Query einen Fehler"Syntaxfehler in Datum und Abfrageausdruck"
Was ist an dieser Abfrage falsch?
AnsiString v_datum = Now().FormatString("yyyy-mm-dd hh:mm:ss"); ADOQueryAuswertung->SQL->Clear(); ADOQueryAuswertung->SQL->Add("SELECT * FROM auswertung"); ADOQueryAuswertung->SQL->Add("WHERE datum < #'" + v_datum + "'#"); ADOQueryAuswertung->Open();Kann mir da jemand helfen?
MfG
chloe
-
Hallo
warum macht du die Raute-Zeichen?
ADOQueryAuswertung->SQL->Add("WHERE datum < '" + v_datum + "'");bis bald
akari
-
Ich verwenden die Raute Zeichen, weil es sonst zu einem anderen Fehler kommt:
"Datentypen in Kriterienausdruck unverträglich"
So funktioniert es ohne Probleme:
ADOQueryAuswertung->SQL->Clear(); ADOQueryAuswertung->SQL->Add("SELECT * FROM auswertung"); ADOQueryAuswertung->SQL->Add("WHERE datum < #2005-08-28#"); ADOQueryAuswertung->Open();Nur ich möchte das Datum über eine Variable übergeben.
-
Hallo
ja dann mach es doch so wie ich es in meinem letzten Post geschrieben hab. Also mit dem einfachen Hochkomma.
bis bald
akari
-
Wenn ich das so mache wie du es geschrieben hast dann bekomm ich wieder den folgenden Fehler:
"Datentypen in Kriterienausdruck unverträglich"
MfG
chloe
-
Hallo
dann passt der Typ des Feldes nicht zu dem Datumsformat.
Welchen Server benutzt du für die Datenbank? Schau doch erstmal, das du eine solche Abfrage manuell in einem passendem Frontend für den Server ausführen kannst, dann weist du welche Syntax richtig ist.bis bald
akari
-
Hi,
hab ich schon gemacht und so funktionert es auch dort: #2005-08-28#
Nur muss ich es jetzt noch hinbekommen, dass zwischen den Rautezeichen eine Variable stehen kann.MfG
chloe
-
Pack halt die Zeichen mit in die Variable, wenn die wirklich notwendig sind.
-
einfacher wär es das Datum als DateTime der SQL-Anweisung zu übergeben, da das dann automatisch korrekt für die Datenbank ausgewertet wird, (natürlich nur, wenn das Tabellenfeld datum vom Type DateTime ist)
z.B. so:
ADOQueryAuswertung->SQL->Clear(); ADOQueryAuswertung->SQL->Add("SELECT * FROM auswertung"); ADOQueryAuswertung->SQL->Add("WHERE datum < :Datum"); ADOQueryAuswertung->ParamByName("Datum")->Value = Now(); ADOQueryAuswertung->Open();