Fórum TStoredProc #52189
12/08/2005
0
oi pessoal,
Criei uma Stored Procedure dentro do banco no firebird 1.5 para agilizar o processo de um cálculo como descrito nos 3 passos abaixo:
1 - ler dados do registro em uma tabela
2 - procura dados relacionados ao registro em mais três outras tabelas
3 - com isso, calcula um valor que é gravado na primeira tabela.
Não tenho interesse em ver o resultado na tela, mas apesar disso tive de criar um parametro de saida que guarda o valor calculado para ser gravado no campo da primeira tabela pois ficando em variavel não gravava, simplismente ignorava. Todavia, apesar deste retorno visual indesejado de valores, a Stored Procedure calcula e grava corretamente quando executada diretamente no banco de dados, no caso utilizando o IBExpert.
Chegando finalmente ao problema principal, é que quando chamo essa Stored Procedure atraves de um componente TStoredProcedure do Delphi (StoredProcedure1.ExecProc) somente é lido o primeiro registro da tabela e o valor é calculado mas não gravado, então o processamento é encerrado.
Resumindo, se executo a StoredProcedure no IBExpert todos os registros são processados e gravados corretamente mas se executado no delphi somente é lido o primeiro registro e nenhum é gravado.
Será que algum colega com mais experiencia em executar storedprocedure atraves do delphi sabe como resolver isso?
[color=green:cc8557e233]Movido de Delphi para Interbase/Firebird[/color:cc8557e233]
Criei uma Stored Procedure dentro do banco no firebird 1.5 para agilizar o processo de um cálculo como descrito nos 3 passos abaixo:
1 - ler dados do registro em uma tabela
2 - procura dados relacionados ao registro em mais três outras tabelas
3 - com isso, calcula um valor que é gravado na primeira tabela.
Não tenho interesse em ver o resultado na tela, mas apesar disso tive de criar um parametro de saida que guarda o valor calculado para ser gravado no campo da primeira tabela pois ficando em variavel não gravava, simplismente ignorava. Todavia, apesar deste retorno visual indesejado de valores, a Stored Procedure calcula e grava corretamente quando executada diretamente no banco de dados, no caso utilizando o IBExpert.
Chegando finalmente ao problema principal, é que quando chamo essa Stored Procedure atraves de um componente TStoredProcedure do Delphi (StoredProcedure1.ExecProc) somente é lido o primeiro registro da tabela e o valor é calculado mas não gravado, então o processamento é encerrado.
Resumindo, se executo a StoredProcedure no IBExpert todos os registros são processados e gravados corretamente mas se executado no delphi somente é lido o primeiro registro e nenhum é gravado.
Será que algum colega com mais experiencia em executar storedprocedure atraves do delphi sabe como resolver isso?
[color=green:cc8557e233]Movido de Delphi para Interbase/Firebird[/color:cc8557e233]
Catunda
Curtir tópico
+ 0
Responder
Posts
13/08/2005
Sremulador
Executar uma stored procedure com um unico resultado
Executar uma stored procedure com vários resultados
acho que e isto :wink:
execute procedure PROCEDURE (PARAMETROS)
Executar uma stored procedure com vários resultados
select * from PROCEDURE (PARAMETROS)
acho que e isto :wink:
Responder
Gostei + 0
13/08/2005
Catunda
Valeu sremulador.....
Agora deu certo.
Agora deu certo.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)