Parameter Not Found Delphi

15/03/2017

0

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

Responder

Post mais votado

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

Gutierry Pereira

Gutierry Pereira
Responder

Mais Posts

15/03/2017

Rodrigo Oliveira

muito obrigado amigo era isso mesmo !
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar