AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datenbankabfrage auf Ereignisse zwischen Datum 1 und Datum 2
Thema durchsuchen
Ansicht
Themen-Optionen

Datenbankabfrage auf Ereignisse zwischen Datum 1 und Datum 2

Ein Thema von Jens Hartmann · begonnen am 9. Jan 2010 · letzter Beitrag vom 30. Jan 2010
Antwort Antwort
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#1

Re: Datenbankabfrage auf Ereignisse zwischen Datum 1 und Dat

  Alt 30. Jan 2010, 15:51
Hallo zusammen,

habe mal noch ne Frage zum eingrenzen des Datumsbereichs in Verbindung mit der Uhrzeit Irgendwie fehlt mir da gerade die Logik. Ich möchte z.B. folgende Eingrenzung realisieren.

von Datum / Uhrzeit
bis Datum / Uhrzeit

in Zahlen

21.01.2010 / 17:00:00
23.01.2010 / 06:00:00

wenn ich diese Abfrage wie folgt realisiere, dann werden allerdings an allen Tagen die Zeiten die nicht im Zeitbereich liegen logischer Weise nicht gefunden. Wie aber bekomme ich das hin, das er am 22.01.2010 logischer Weise alle Zeiten von 00:00:00 bis 23:59:59 finden wird und nur am ersten und letzten Suchtag die Grenze setzt.

Delphi-Quellcode:
//Erste Variante die nicht geht
     QryDatumsbereich.SQL.Text := 'SELECT * FROM '+Table+
       ' WHERE DATUM >= :ANFANG and DATUM <= :ENDE and UHRZEIT >= :ZANFANG and UHRZEIT <=:ZENDE';
      QryDatumsbereich.ParamByName('ANFANG').AsDate := Date1;
      QryDatumsbereich.ParamByName('ENDE').AsDate := Date2;
      QryDatumsbereich.ParamByName('ZANFANG').AsTime := Time1;
      QryDatumsbereich.ParamByName('ZENDE').AsTime := Time2;
      QryDatumsbereich.Open;
//Zweite Variante die nicht geht
      QryDatumsbereich.SQL.Text := 'SELECT * FROM '+Table+
        ' WHERE (DATUM >= :ANFANG and UHRZEIT >= :ZANFANG) and (DATUM <= :ENDE and UHRZEIT <=:ZENDE)';
      QryDatumsbereich.ParamByName('ANFANG').AsDate := Date1;
      QryDatumsbereich.ParamByName('ENDE').AsDate := Date2;
      QryDatumsbereich.ParamByName('ZANFANG').AsTime := Time1;
      QryDatumsbereich.ParamByName('ZENDE').AsTime := Time2;
      QryDatumsbereich.Open;


Irgend jemand eine Idee wie das gehen kann.

Gruß Jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:25 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-2025 by Thomas Breitkreuz