Fórum Ajuda com parametros do tipo INT #401199

17/05/2011

0

Boa tarde Galera...

Estou fazendo uma tela onde um dos parametros é do tipo INTEIRO!
Ex:

select * from pedidos
 where codigo in (:cod)

o problema é: no parametro :cod tenho que poder passar varios numeros separados por virgula...
Porém se no delphi coloco do tipo AsInteger naum aceita por causa das virgulas e se passo como AsString vai dar erro de comparação com o campo inteiro!

Alguem sabe como resolver isso sem ter que trocar o SQL desta linha e sim via parametro mesmo?
Km Sistemas

Km Sistemas

Responder

Posts

18/05/2011

Jair N.

Boa Tarde, poderia mas terá que modificar para atender sua necessidade. a Exemplo: SELECT * FROM pedidos -- substituir por: where codigo in (:cod) -- remove esta clausula WHERE (codigo = SOME (ARRAY[:p0, :p1, :p2, :p3, :p4, :p5])); -- quando for passar os parametros não passar como string; -- na passagem do parâmetro caso dts.Params[0].AsInteger := x --- número do código inteiro ... ou no caso de uma função pode ser uma passagem por array do tipo INT[] ok entendeu?
Responder

Gostei + 0

15/09/2011

Km Sistemas

Na verdade Não entendi muito bem não...
vou utilizar dentro do delphi!

oque faz esse SOME?
e como vou passar todos os valores separados por virgula se parametro do tipo integer não permite virgula...
Responder

Gostei + 0

14/03/2013

Km Sistemas

Resolvido!

vou utilizar desta forma:
select * from pedidos
 where :cod like %||cast(codigo as varchar)||%
Responder

Gostei + 0

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

Aceitar