Parameter Not Found Delphi

MySQL

Delphi

15/03/2017

Bom dia está aparecendo esse erro para mim sendo que eclareio os parametros da maneira certa , pode ser oquê ?
AdoQuery
var
    campo:string;
begin
       campo:=column.fieldname;
       dm.qTarefaHisUsu.close;
       dm.qTarefaHisUsu.sql.text:='SELECT * FROM GTELHIS LEFT OUTER JOIN GTELTAREFA ON (GTELTAREFA.ID = GTELHIS.ID_TAREFA)'+
       'LEFT OUTER JOIN GTELEVE ON (GTELEVE.CODEVEEV = GTELHIS.CODEVEHI) LEFT OUTER JOIN GTELOPE ON (GTELOPE.CODOPEOP = GTELHIS.CODOPEHI) WHERE GTELHIS.ID_TAREFA=:WID'+
       'order by '+campo;
       DM.qTarefaHisUsu.Parameters.ParamByName('WID').VALUE := DSTARUSU.DATASET.FIELDBYNAME('ID').VALUE;
       if not dm.qTarefaHisUsu.Prepared then
              dm.qTarefaHisUsu.Open;
end;
Rodrigo Oliveira

Rodrigo Oliveira

Curtidas 0

Melhor post

Gutierry Pereira

Gutierry Pereira

15/03/2017

Fala meu caro,
Acredito que se problema esteja relacionado com o fato de seu text estar direto e ao coloca WHERE GTELHIS.ID_TAREFA=:WID'+
'order by '+campo;
Oque esta fazendo é criar isso WHERE GTELHIS.ID_TAREFA=:WIDorder by '+campo;, então o nome do seu parametro é WIDorde e não WID, essa query tbm vai dar erro.
Eu aconselho sempre utilizar o SQL.add.
Mas para resolver isso basta colocar um espaço apois o WID ou um antes do order.


Espero ter ajudado.

Qualquer coisa estou a disposição.


Abraços
GOSTEI 1

Mais Respostas

Rodrigo Oliveira

Rodrigo Oliveira

15/03/2017

muito obrigado amigo era isso mesmo !
GOSTEI 0
POSTAR