Problemas com stored procedure ?
Utilizo delphi 6 e firebird 1.5, tenho uma stored procedure que funciona perfeitamente. Só que coloquei esta procedure dentro de um timer da seguinte maneira:
Se eu colocar esta stored procedure para executar de dentro de um botão ela funciona perfeitamente se eu colocar dentro do timer não traz nada como resposta. Não sei mais o que fazer, já deletei a stored procedure e coloquei, já coloquei um sleep(5000) depois que a executo e nada.
Se alguém puder me ajudar ?
procedure Tform1.timer1...... begin timer1.enabled:=false; storedproc.parambyname(´num´).asstring:=´1´; storedproc.execproc; showmessage(storedproc.parambyname(´resp´).asstring); timer1.enabled:=true; end;
Se eu colocar esta stored procedure para executar de dentro de um botão ela funciona perfeitamente se eu colocar dentro do timer não traz nada como resposta. Não sei mais o que fazer, já deletei a stored procedure e coloquei, já coloquei um sleep(5000) depois que a executo e nada.
Se alguém puder me ajudar ?
Jc_analista
Curtidas 0
Respostas
Motta
23/09/2004
não deveria ter nada a ver, bote num bloco protegido (try excepty) e veja se houve erro na execução
GOSTEI 0
Gandalf.nho
23/09/2004
Está abrindo uma transação para a procedure?
GOSTEI 0
Beppe
23/09/2004
Verificou se o timer está habilitado e interval com um valor correto?
GOSTEI 0
Jc_analista
23/09/2004
Não esta ocorrendo erro, utilizo o ibexpert e lá ela roda normalmente eu tenho um objeto da paleta interbase que e uma ibtransaction que esta relacionado com o ibdatabase o estranho e que se eu colocar em um botão ele funciona corretamente quando clico no botão. O timer eu ativo no evento oncreate do form e o intervalo esta correto
GOSTEI 0
Jc_analista
23/09/2004
fiz um teste coloquei na ultima linha da procedure um valor como resposta tipo resp:=15;
e fiz o teste, não esta executando a stored procedure;
mas quando faço a execução passo a passo ele passa em cima da linha storedproc.execproc; não tem nada desviando.
e fiz o teste, não esta executando a stored procedure;
mas quando faço a execução passo a passo ele passa em cima da linha storedproc.execproc; não tem nada desviando.
GOSTEI 0
Beppe
23/09/2004
fiz um teste coloquei na ultima linha da procedure um valor como resposta tipo resp:=15;
Na última linha deve haver um [b:98c5ff36f8]SUSPEND[/b:98c5ff36f8]. O estranho é que vc disse que no botão funciona...
GOSTEI 0
Jc_analista
23/09/2004
Desculpe última linha antes do suspend, fiz uma aplicação nova e coloquei do mesmo jeito que estava na antiga e funcionou.
Só que este e meu form principal, não posso perde-lo
Só que este e meu form principal, não posso perde-lo
GOSTEI 0
Beppe
23/09/2004
Vc deve ter mexido em algo mais depois de ter testado com o botão. O param ´resp´ está configurado como de saída? O ShowMessage exibe o que?
GOSTEI 0
Vinicius2k
23/09/2004
fiz uma aplicação nova e coloquei do mesmo jeito que estava na antiga e funcionou.
Mas a aplicação entra ou não no evento OnTimer do Timer ?
Verifique no Object Inspector se o Evento OnTimer do Timer está devidamente associado à procedure TForm1.Timer1OnTimer...
T+
GOSTEI 0
Jc_analista
23/09/2004
entra no evento on timer e o parametro resp e de saida. Não tem lógica, esse erro.
GOSTEI 0
Beppe
23/09/2004
entra no evento on timer e o parametro resp e de saida. Não tem lógica, esse erro.
E o que o ShowMessage mostra?
GOSTEI 0
Jc_analista
23/09/2004
resolvi, apaguei a stored procedure no banco, apaguei tudo relacionado com ela compilei, fiz tudo de novo e funcionou e pau do delphi. valew todo mundo que me ajudou.
GOSTEI 0