Einzelnen Beitrag anzeigen

Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#1

SQL-Abfrage mit Parameter

  Alt 7. Mai 2017, 13:47
Datenbank: Firebird • Version: 2.5 • Zugriff über: ZEOS
Hallo,

warum funktioniert die Abfrage nicht, wenn ich einen Parameter (Anzahl) benutzen möchte?

Delphi-Quellcode:
  with DataModule_DB.ZQuery do
    begin
      SQL.Clear;
      SQL.Add('WITH ROH AS(');
      SQL.Add('SELECT FIRST :Anzahl * FROM Wetterdaten ORDER BY ID DESC');
      SQL.Add(') SELECT * FROM ROH ORDER BY ID');

      ParamByName('Anzahl').AsString := LabeledAlignFormatEdit_Anzahl_Datensaetze.Text;

      Open;
    end;
so funktioniert es:
Delphi-Quellcode:
  with DataModule_DB.ZQuery do
    begin
      SQL.Clear;
      SQL.Add('WITH ROH AS(');
      SQL.Add(Format('SELECT FIRST %s * FROM Wetterdaten ORDER BY ID DESC', [LabeledAlignFormatEdit_Anzahl_Datensaetze.Text]));
      SQL.Add(') SELECT * FROM ROH ORDER BY ID');

      Open;
    end;
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat