GARANTIR DESCONTO

Fórum Erro ao passar parametro quot; Incorrect Syntax near ´@P5q #351764

11/01/2008

0

Tenho estes filtros na minha consulta

S.COD_FILIAL = :COD_FILIAL
AND S.NUM_DOCTO = :NUM_DOCTO
AND S.COD_DOCTO LIKE :COD_DOCTO
AND S.SERIE_SEQ = :SERIE_SEQ
AND SI.NUM_ITEM IN :NUM_ITEM

qrCertificado.Close;
qrCertificado.Parameters.ParamByName(´COD_FILIAL´).Value := Edit1.Text;
qrCertificado.Parameters.ParamByName(´COD_DOCTO´).Value := Edit2.Text;
qrCertificado.Parameters.ParamByName(´SERIE_SEQ´).Value := Edit3.Text;
qrCertificado.Parameters.ParamByName(´NUM_DOCTO´).Value := Edit4.Text;
qrCertificado.Parameters.ParamByName(´NUM_ITEM´).Value := Edit5.Text
qrCertificado.Open;

No ultimo parametro que passa valores para o ´IN´ da o seguinte erro

//´ Incorrect Syntax near ´@P5´. ´

se eu mudar de
AND SI.NUM_ITEM IN :NUM_ITEM
para
AND SI.NUM_ITEM = :NUM_ITEM
funciona

como posso passar estes parametros.

Delphi 7
SqlServer2000.


Japa_h

Japa_h

Responder

Posts

11/01/2008

Japa_h

Resolvi o erro, mas não sei como pssar mais de um item.

AND SI.NUM_ITEM IN (:NUM_ITEM)

Tipo

qrCertificado.Parameters.ParamByName(´NUM_ITEM´).Value := ´1´,´2´


Alguem pode ajudar.


Responder

Gostei + 0

11/01/2008

Alexandrejose

Dessa maneira vc não vai conseguir.
Monte em uma variável 1,2,3 e insira no sql manualmente.


Responder

Gostei + 0

14/01/2008

Djjunior

comigo nunca consegui passar parametros pra filtros tipo ´IN ()´
Sempre que eu precisei fazer algo do tipo eu uso rxQuery - propriedade macro, nela vc pode criar toda a condição.

Outra opção (se você não quizer usar os componentes RX) é montar essa linha via código tipo um:
sql.add(´campo in ( ´ + 1,2,3 + ´)´; etc

só que com isso você abre uma brecha de segurança do tipo sql injection


Responder

Gostei + 0

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

Aceitar