Erro ao passar parametro para SP.
Olá pessoal,
Tenho uma stored procedure que tem um parametro dentro de um in.
Exemplo: IdTurma in (:IdTurma)
Sendo que IdTurma é do tipo VarChar pois pode ser ´1´ ou ´1,2´ ou ´1,2,3´ mas quando eu passo esse parametro como VarChar ele não consegue trazer resultado.
Se eu fizar manual IdTurma in (1,2) ele retorna resultado.
Alguma dica?
Tenho uma stored procedure que tem um parametro dentro de um in.
Exemplo: IdTurma in (:IdTurma)
Sendo que IdTurma é do tipo VarChar pois pode ser ´1´ ou ´1,2´ ou ´1,2,3´ mas quando eu passo esse parametro como VarChar ele não consegue trazer resultado.
Se eu fizar manual IdTurma in (1,2) ele retorna resultado.
Alguma dica?
Yallebr
Curtidas 0
Respostas
Cabelo
24/07/2006
Como vc chama a SP no programa ????
não falta aspas no parâmetro???
não falta aspas no parâmetro???
GOSTEI 0
Yallebr
24/07/2006
Como vc chama a SP no programa ????
não falta aspas no parâmetro???
Eu não estou chamando de dentro do programa ainda, estou chamando de dentro do IbExpert.
Estou passando assim qd abre a janela para informar os parametros:
[IdTurma] 1,2,3,4
Não pode colocar aspas pois se colocar aspas no In da erro.
GOSTEI 0
Cabelo
24/07/2006
Estou passando assim qd abre a janela para informar os parametros:
[IdTurma] 1,2,3,4
Não pode colocar aspas pois se colocar aspas no In da erro.
Se vc colocar aspas dá erro???? vc está colocando assim???
IdTurma in (||´´|| :IdTurma ||´´||)
será que dá erro mesmo ???
GOSTEI 0
Yallebr
24/07/2006
Opa,
Nao foi assm que coloquei nao, vou tentar novamente e aviso.
Obrigado.
Nao foi assm que coloquei nao, vou tentar novamente e aviso.
Obrigado.
GOSTEI 0
Yallebr
24/07/2006
Olá Cabelo,
Realmente não funcinou.
Estou te passando o codigo para vc ver se é isso mesmo.
O erro que aparece que é ´Arithmet Overload or Division By Zero....´
Valew
Realmente não funcinou.
Estou te passando o codigo para vc ver se é isso mesmo.
COMANDOSQL = ´SELECT DISTINCT(A.IdAluno) FROM Alunos A ´ || ´LEFT JOIN AlunosParcelas P ON A.IdAluno = P.IdAluno ´ || ´WHERE (CURRENT_DATE > P.Vencimento) AND (Pago = 0) and ´ || ´extract(year from vencimento) = 2006 and P.IdTipoCobranca ´ || ´in (´ || :STRIDTIPOCOBRANCA ||´)´; FOR execute statement :ComandoSQL into :intIdAluno DO BEGIN
O erro que aparece que é ´Arithmet Overload or Division By Zero....´
Valew
GOSTEI 0
Cabelo
24/07/2006
Colega... tenta assim :
FOR execute statement ´SELECT DISTINCT(A.IdAluno) FROM Alunos A ´ || ´LEFT JOIN AlunosParcelas P ON A.IdAluno = P.IdAluno ´ || ´WHERE (CURRENT_DATE > P.Vencimento) AND (Pago = 0) and ´ || ´extract(year from vencimento) = 2006 and P.IdTipoCobranca ´ || ´in (´ || ´´ || :STRIDTIPOCOBRANCA || ´´ ||´)´ into :intIdAluno DO BEGIN
GOSTEI 0
Yallebr
24/07/2006
Funcionou amigo, obrigado!
GOSTEI 0