Thema: Delphi überfordert ~.~

Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#27

AW: überfordert ~.~

  Alt 14. Apr 2013, 13:53
Hallo, ich bins wieder

1. danke nochmal für die posts ...hab einiges umgesetzt und erweitert und es hat funktioniert

2. ich hab ne kurze frage

Delphi-Quellcode:
begin
    ende := ADOQuery_Buchen.FieldByName('Abreise').AsDateTime;
    anfang:= ADOQuery_Buchen.FieldByName('Anreise').AsDateTime;


with ADOQuery_Buchen4 do begin
Close;
  SQL.Text:='SELECT * FROM Zimmer ';
  SQL.Text:='WHERE'        ;
  SQL.Text:='((bu_anreise.Date < anfang) AND (bu_abreise.Date < ende)) AND ((bu_anreise.Date < ende) AND (bu_abreise.Date > anfang)) ' ;
  SQL.Text:='((anfang < bu_anreise.Date) AND (bu_abreise.Date < ende)) AND ((bu_anreise.Date < ende) AND (bu_abreise.Date > anfang)) '  ;
  SQL.Text:='((anfang < bu_anreise.Date) AND (ende < bu_abreise.Date)) AND ((bu_anreise.Date < ende) AND (bu_abreise.Date > anfang))'   ;
Open;
end;
ich möchte für die 3 möglichen fälle das datum der belegung und eingabe prüfen ...wie kann ich den quelltext oben umschreiben, dass er richtig ist und ich keine fehlermeldung ( Unions-Abfrage) erhalte?

LG Sergej
Versuch es doch bitte mal mit
Delphi-Quellcode:
  SQL.Clear;
  SQL.Add('SELECT * FROM Zimmer WHERE');
  SQL.Add(' ((bu_anreise.Date < anfang) AND (bu_abreise.Date < ende))');
  SQL.Add('and ((bu_anreise.Date < ende) AND (bu_abreise.Date > anfang))');
  SQL.Add('and ((anfang < bu_anreise.Date) AND (bu_abreise.Date < ende))');
  SQL.Add('and ((bu_anreise.Date < ende) AND (bu_abreise.Date > anfang))');
  SQL.Add('and ((anfang < bu_anreise.Date) AND (ende < bu_abreise.Date))');
  SQL.Add('and ((bu_anreise.Date < ende) AND (bu_abreise.Date > anfang))');
mit SQL.Text:='...' weist Du der Abfrage immer neune Text zu.
Daruch hast Du mit jeder Anweisung die vorherige überschrieben, so dass am Ende Deine Abfrage so aussahl: '((anfang < bu_anreise.Date) AND (ende < bu_abreise.Date)) AND ((bu_anreise.Date < ende) AND (bu_abreise.Date > anfang))' und das ist kein vollständiges SQL.
  Mit Zitat antworten Zitat