Erro ao passar parametro quot; Incorrect Syntax near ´@P5q
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.
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
Curtidas 0
Respostas
Japa_h
11/01/2008
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.
AND SI.NUM_ITEM IN (:NUM_ITEM)
Tipo
qrCertificado.Parameters.ParamByName(´NUM_ITEM´).Value := ´1´,´2´
Alguem pode ajudar.
GOSTEI 0
Alexandrejose
11/01/2008
Dessa maneira vc não vai conseguir.
Monte em uma variável 1,2,3 e insira no sql manualmente.
Monte em uma variável 1,2,3 e insira no sql manualmente.
GOSTEI 0
Djjunior
11/01/2008
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
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
GOSTEI 0