Einzelnen Beitrag anzeigen

hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#1

Query: Parameter nicht gefunden

  Alt 5. Okt 2007, 09:51
Datenbank: FB • Version: 1.5 • Zugriff über: BDE
Hallo,

jaja BDE, immer noch, bin ja schon beim Umstellen

Aber nun zur Frage

Delphi-Quellcode:
Query: TQuery
    with Query do
    begin
      SQL.Clear;
      SQL.Add('Select * From ResPersonGroup_Person');
      SQL.Add('Where ((PersonalId=:PersonalId)');
      SQL.Add('And (Not ((:TheEndDate<StartDate) Or (:TheStartDate>EndDate))))');
      ParamByName('TheEndDate').AsDateTime := theEndDate; <<-- hier kommt der Fehler
      ParamByName('TheStartDate').AsDateTime := theStartDate;
      ParamByName('PersonalId').AsInteger := thePersonalId;
Hier kommt beim 1. und 2. ParamByName ein Fehler ?
ParamByName('PersonalId') klappt noch (wenn ich die Zeilen mal umdrehe)
Ein Params[x] klappt auch (so habe ich das jetzt erst mal "notgelöst")


Was ist den hier kaputt ???
Das hatte ich ja noch nie.

Hat das vielleicht damit zu tun, dass die BDE damit überfordert ist,
weil der Parameter vor dem Wert steht ?.


Ein verwunderter Heiko



OK: Lösung
Delphi-Quellcode:
      SQL.Clear;
      SQL.Add('Select * From ResPersonGroup_Person');
      SQL.Add('Where (PersonalId=:PersonalId)');
      SQL.Add('And (Not ((StartDate>=:TheEndDate) Or (EndDate<=:TheStartDate)))');
      ParamByName('PersonalId').AsInteger := thePersonalId;
      ParamByName('TheEndDate').AsDateTime := theStartDate;
      ParamByName('TheStartDate').AsDateTime := theEndDate;
Hm, die BDE hat sich wohl doch daran gestört, dass der Parameter vor dem Vergleich stand.
Heiko
  Mit Zitat antworten Zitat