Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

MisterPe

Erro na passagem de parâmetros para stored procedures

Recommended Posts

Olá !

 

Estou trabalhando na migração de um sistema D5 para D2010, onde o código nativo é todo baseado no BDE, com Sql Server 2000.

 

Já fiz os ajustes para compilação, mas estou tendo problemas de execução... mais precisamente na passagem de parâmetros para as Stored Procedures.

 

O problema é bastante simples de entender... tenho, por exemplo, uma procedure ( chamada OpenLogon ) que registra o login do usuário no sistema.

 

São três parâmetros :

  • @Logon = Código de Logon do usuário ( Char 5 )
  • @Terminal = Nome do terminal de rede ( Char 25 )
  • @SYS = Flag do tipo de sistema ( Boolean )

Quando executo pelo código nativo, via BDE ( componente TStoredProc ), os dois primeiros parâmetros são passados ERRADAMENTE para o Sql Server CONCATENADOS : exec dbo.sp_OpenLogon @Logon = 'usuariosenha', @Terminal = NULL, @SYS = 0

 

Acarretando a falha no login !

 

Substituindo o componente por DBExpress ( componente TSQLStoredProc ), os dois primeiros parâmetros são passados CORRETAMENTE para o Sql Server SEPARADOS : exec [sp_openLogon] 'usuario', 'senha', 0

 

O login funciona normalmente !

 

Alguém já passou por isso ou tem uma ideia do que está acontecendo ?

 

O sistema é muito extenso e não tenho como migrar imediatamente tudo para DBExpress... preciso, primeiro, fazê-lo funcionar no Delphi2010 + BDE !

 

Qualquer ajuda é bem-vinda...

 

Obrigado,

 

 

E aí galera... algum palpite ?!?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo.

 

Na propriedade Params do seu componente TStoredProc você definiu o tipo de cada parâmetro que ali é exibido? Por default, cada parâmetro criado alí, vem com o valor da propriedade DataType como ftNone se não me engano. Você precisaria acertar isso em primeira mão.

 

Vamos por partes que descobriremos o vilão da história.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.