Einzelnen Beitrag anzeigen

Benutzerbild von erich.wanker
erich.wanker

Registriert seit: 31. Jan 2008
Ort: im schönen Salzburger Land
460 Beiträge
 
Delphi XE4 Professional
 
#1

SQL Parameter werden nicht ausgefüllt ..

  Alt 6. Aug 2020, 10:12
Datenbank: mysql • Version: 1 • Zugriff über: ZeosLib7
Hallo ..
ich verstehe es nicht

Ich versuche gerade ein Problem zu lösen - da die zu suchenden Texte einen Bindestrich beinhalten - deswegen baue ich mir Parameter.. und hoffe SO das Problem zu beseitigen

Aber wenn ich mir mein nicht funktionierendes SQL Statement ausgeben lassen will - sehe ich, dass die Parameter als Text drinnen stehen - und nicht die Werte.

Der SQL-TEXT was bei meiner Procedure rauskomme .. die Parameter werden nicht augefüllt sondern dargestellt???

Zitat:
SELECT * FROM material where ((`Materialkurztext` LIKE '% :matname %') OR (`Materialnummer` LIKE '% :matnummer %')) ORDER BY `Materialkurztext` ASC LIMIT 100 OFFSET 0
Der Delphi-Code:

Delphi-Quellcode:
UniMainModule.n_MATERIAL.SQL.Clear;
          UniMainModule.n_MATERIAL.SQL.Append('SELECT * FROM klassifizierung where ((`Materialkurztext` LIKE ''% :matname %'') OR (`Materialnummer` LIKE ''% :matnummer %'')) ORDER BY `' + my_Fieldname_m + '`' + sortierreihenfolge + ' LIMIT ' + inttostr(mainform.datenbank_limit) + ' OFFSET ' + inttostr(mein_limit_m));
          UniMainModule.n_MATERIAL.Params.Clear;
          UniMainModule.n_MATERIAL.Params.CreateParam(ftString, 'matname', ptInput);
          UniMainModule.n_MATERIAL.Params.CreateParam(ftString, 'matnummer', ptInput);
          UniMainModule.n_MATERIAL.ParamByName('matname').Value := sql_filter_m;
          UniMainModule.n_MATERIAL.ParamByName('matnummer').Value := sql_filter_m;
          UniLabel55.Caption:= UniMainModule.n_MATERIAL.SQL.Text;
  UniMainModule.n_MATERIAL.Open;

Info: n_MATERIAL ist ein TZQuery

Hat jemand eine Idee wo der Fehler liegt?
Erich Wanker - for life:=1971 to lebensende do begin ..
O
/H\
/ \
  Mit Zitat antworten Zitat