Fórum Erro ao passar parametro para SP. #56623

24/07/2006

0

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?


Yallebr

Yallebr

Responder

Posts

24/07/2006

Cabelo

Como vc chama a SP no programa ????

não falta aspas no parâmetro???


Responder

Gostei + 0

25/07/2006

Yallebr

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.


Responder

Gostei + 0

25/07/2006

Cabelo

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 ???


Responder

Gostei + 0

26/07/2006

Yallebr

Opa,

Nao foi assm que coloquei nao, vou tentar novamente e aviso.

Obrigado.


Responder

Gostei + 0

26/07/2006

Yallebr

Olá Cabelo,

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


Responder

Gostei + 0

26/07/2006

Cabelo

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 



Responder

Gostei + 0

28/07/2006

Yallebr

Funcionou amigo, obrigado!


Responder

Gostei + 0

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

Aceitar