Einzelnen Beitrag anzeigen

Dr. Jack

Registriert seit: 17. Mär 2010
78 Beiträge
 
Delphi 10.2 Tokyo Architect
 
#1

select mit ' läuft nicht

  Alt 8. Okt 2021, 14:59
Datenbank: sqlite • Version: 3 • Zugriff über: firedac
Hallo zusammen,

mein Problem ist, dass ich mit einen Select direkt in der DB auch ein richtiges Ergebnis bekomme.

select * from fam_check where DATE(verfall, + '1 year') <= CURRENT_DATE AND (DATE(p_datum, + '5 years') <= CURRENT_DATE)

übertrage ich den Select in Delphi bekomme ich kein Ergebnis

Delphi-Quellcode:
  
       main.qryproducts.FetchOptions.AutoClose := False;
       main.qryproducts.SQL.Clear;
   
// erster Versuch so:
       main.qryproducts.SQL.Add('SELECT * ');
       main.qryproducts.SQL.Add('FROM fam_check ');
       main.qryproducts.SQL.Add('WHERE DATE(verfall, + '+ quotedstr('1 year')+ ' ) <= CURRENT_DATE' );
       main.qryproducts.SQL.Add('AND (DATE(p_datum, + ' + quotedstr('5 years') +') <= CURRENT_DATE) '   );

// zweite Versuch mit Parametern
       main.qryproducts.SQL.Add('SELECT * ');
       main.qryproducts.SQL.Add('FROM fam_check ') ;
       main.qryproducts.SQL.Add('WHERE DATE(verfall, + :jahr_begin ) <= CURRENT_DATE' );
       main.qryproducts.SQL.Add('AND (DATE(p_datum, + :jahr_end ) <= CURRENT_DATE) '   );

       main.qryproducts.ParamByName('jahr_begin').AsString := '1 year';
       main.qryproducts.ParamByName('jahr_end').AsString := '5 years';

       main.qryproducts.SQL.SaveToFile('S:\log.txt');

       main.qryproducts.Open;

        while not main.qryproducts.Eof do
          begin
          loeschfristen_apbetro_fam_insert_lv(main.qryproducts.FieldByName('ID').AsString,
          main.qryproducts.FieldByName('name').AsString,main.qryproducts.FieldByName('dafo_kurz').AsString);
          main.qryproducts.Next;
          end;
die Ausgabe im Logfile kann ich 1:1 in die DB kopieren und es geht. Woran ligt es? Hoffe ihr könnt mir helfen thx.
  Mit Zitat antworten Zitat