![]() |
Datenbank: Access • Version: 2000 • Zugriff über: ADO
Abfrage von Datum + Uhrzeit mit ADO
Habe eine Access Datenbank Tabelle mit einen Datumsfeld. In diesem sind Datum + Uhrzeit gepeichert (ein Art Timestamp).
Wenn ich in Access direkt folgenden SQL Befehl eingebe, erhalte ich das gewünschte Ergebnis.
SQL-Code:
Wenn ich dieses von Delphi an ADO.Commandtext übergebe, erhalte ich nach ADO.Active:=true die Fehlermeldung:
SELECT * FROM tbl_Rechkopf WHERE tbl_Rechkopf.Erstellungszeitpunkt>=#3/30/2008 00:00:00# AND tbl_Rechkopf.Erstellungszeitpunkt<=#3/30/2008 23:59:59#
Delphi-Quellcode:
Lasse ich die Uhrzeitangaben weg, gibt es keine Fehlermeldung, aber ich erhalte kein Ergebniss, da ADO intern beide Daten auf 0:00 Uhr setzt und es gibt keinen Datensatz zwischen 30.3 0:00 Uhr und 30.3 0:00 Uhr.
Ein Parameterobjekt ist nicht ordnungsgemäß definiert. Inkonsistente oder unvollständige Informationen wurden angegeben
Hat jemand einen Tipp? Gruß Alfonso |
Re: Abfrage von Datum + Uhrzeit mit ADO
Hallo Alfonso,
entweder du stellst dein Statement auf Parameternutzung um oder du schaltest ParamCheck aus, damit die Doppelpunkte nicht als Metazeichen erkannt werden. Freundliche Grüße |
Re: Abfrage von Datum + Uhrzeit mit ADO
Versuch es mal mit (SQL-)Parameter
|
Re: Abfrage von Datum + Uhrzeit mit ADO
Bei Access sollte man auf jedenfall parameter verwenden. Ansonsten ist je nach Zugriffsweg (ADO/DAO/ODBC) die nötige Formatierung des Datumsstrings unterschiedliche und auch sonst ein Glücksspiel.
|
Re: Abfrage von Datum + Uhrzeit mit ADO
Es gibt auf noch den Trick, das Datum als Flieskommazahl anzugeben:
SQL-Code:
"Zufällig" haben Delphi & Access hier die gleiche Zeitrechnung.
SELECT * FROM Tabelle WHERE Datumfeld=32378.5 // Irgend ein Tag um 12 Uhr
Ich empfehle aber auch, die Parameter zu verwenden. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:08 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