Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL Datumsabfrage wird nicht angezeigt (https://www.delphipraxis.net/121780-sql-datumsabfrage-wird-nicht-angezeigt.html)

digati 4. Okt 2008 13:02

Datenbank: Access • Version: 2003 • Zugriff über: ADO

SQL Datumsabfrage wird nicht angezeigt
 
Hallo,

wie kann ich über eine Query einen Zeitraum abfragen in dem ich das Datum definiere.
Mit folgendem Code werden keine Datensätze angezeigt.

SQL_Text := 'SELECT * FROM Tabelle1 where Datum between :''30.05.2008'' and :''30.06.2008''';

Was mache ich hier falsch?


Gruß
digati

mkinzler 4. Okt 2008 13:03

Re: SQL Datumsabfrage wird nicht angezeigt
 
Entweder Werte oder Parameter

alzaimar 4. Okt 2008 14:01

Re: SQL Datumsabfrage wird nicht angezeigt
 
Was mkinzler in seiner minimalistischen Art zum Ausdruck bringen möchte, ist das widersprüchliche Vorhandensein der Doppelpunkte. Er würde auch, wenn ich ihn hier richtig einschätze, zu der Verwendung von Parametern raten, damit die DB-Komponente die korrekte Formatierung vornimmt.

mkinzler 4. Okt 2008 14:08

Re: SQL Datumsabfrage wird nicht angezeigt
 
Also entweder:
Delphi-Quellcode:
SQL_Text := 'SELECT * FROM Tabelle1 where Datum between ''30.05.2008'' and ''30.06.2008''';
oder
Delphi-Quellcode:
SQL_Text := 'SELECT * FROM Tabelle1 where Datum between :datum1 and :datum2';
...
ParamByName('datum1').asString := '30.05.2008';
ParamByName('datum2').asString := '30.06.2008';
ExecSQL;

digati 4. Okt 2008 21:45

Re: SQL Datumsabfrage wird nicht angezeigt
 
bei dem Vorschlag mit Werten, werden fast alle Datensätze angezeigt und nicht der ausgewählte Bereich.
Der Felddatentyp in Tabelle1 steht auf Text.
Wenn ich den Felddatentyp auf Datum/Uhrzeit ändere dann bekomme ich die Fehlermeldung 'Datentypen in Kriteriumausdruck
unverträglich'.

Bei dem Vorschlag mit Parametern bekomme ich die Fehlermeldung undefinierter Bezeichner: 'ParamByName'

mkinzler 4. Okt 2008 21:53

Re: SQL Datumsabfrage wird nicht angezeigt
 
Zitat:

Zitat von digati
bei dem Vorschlag mit Werten, werden fast alle Datensätze angezeigt und nicht der ausgewählte Bereich.
Der Felddatentyp in Tabelle1 steht auf Text.

Liegt an der Sortierung von Strings
Zitat:

Wenn ich den Felddatentyp auf Datum/Uhrzeit ändere dann bekomme ich die Fehlermeldung 'Datentypen in Kriteriumausdruck
unverträglich'.
Welches DBMS
Zitat:

Bei dem Vorschlag mit Parametern bekomme ich die Fehlermeldung undefinierter Bezeichner: 'ParamByName'
Ist eine Methode des DataSets

sx2008 4. Okt 2008 22:16

Re: SQL Datumsabfrage wird nicht angezeigt
 
Kleine Korrektur für ADO-Queries:
Delphi-Quellcode:
// manchmal "zicken" die Abfragen mit between, dann muss man ausweichen auf
// WHERE Datum >= :datum1 AND Datum <=:datum2
// 
ADOQuery1.SQL.Text := 'SELECT * FROM Tabelle1 where Datum between :datum1 and :datum2';
ADOQuery1.Parameters.ParamByName('datum1').asString := '30.05.2008';
ADOQuery1.Parameters.ParamByName('datum2').asString := '30.06.2008';
ADOQuery1.Open;
Um die Parameter zu befüllen eignen sich die TDateTimePicker recht gut:
Delphi-Quellcode:
...
ADOQuery1.Parameters.ParamByName('datum1').AsDateTime := DateTimePickerVon.Date;
...

hoika 5. Okt 2008 12:16

Re: SQL Datumsabfrage wird nicht angezeigt
 
Hallo,

1. Welcher Datentyp wird verwendet (Date, DateTime, TimeStamp) ?
Ist auch die Uhrzeit dabie,, sollte besser >= <= benutzt werden.

2. Vorsicht beim DateTimePicker. .Date enthält oft Datum und Uhrzeit,
also Trunc() benutzen.


Heiko

digati 5. Okt 2008 16:17

Re: SQL Datumsabfrage wird nicht angezeigt
 
Nach der Korrektur der ADO-Queries bekomme ich die Fehlermeldung Undefinierter Bezeichner: 'asString'

oder
Delphi-Quellcode:
ADOQuery1.Parameters.ParamByName('datum1').AsDateTime := DateTimePickerVon.Date;
Undefinierter Bezeichner: 'AsDateTime'

hoika 5. Okt 2008 16:53

Re: SQL Datumsabfrage wird nicht angezeigt
 
Hallo,

dann nimm halt .Value


Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:22 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