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.