Procedure não funciona no delphi (IB)
Fiz uma procedure num banco firebird usando IB Expert:
CREATE PROCEDURE TEST
RETURNS (
MAXV DECIMAL(15,2))
AS
begin
select max(valor) from pedido
into :maxv ;
suspend;
end
Testei no IBExpert e funciona.
So que no Delphi7 usando IBStoredprocedure da o seguinte erro ao clicar em parametros :
Dynamc Sql error code = -204 procedure unknown Test.
Onde to errando?
CREATE PROCEDURE TEST
RETURNS (
MAXV DECIMAL(15,2))
AS
begin
select max(valor) from pedido
into :maxv ;
suspend;
end
Testei no IBExpert e funciona.
So que no Delphi7 usando IBStoredprocedure da o seguinte erro ao clicar em parametros :
Dynamc Sql error code = -204 procedure unknown Test.
Onde to errando?
Minuto
Curtidas 0
Respostas
Gandalf.nho
12/08/2004
Tente tirar o SUSPEND de sua procedure, que deve ser usado só em SELECT PROCEDURES.
GOSTEI 0
Vinicius2k
12/08/2004
MiNuTo,
Este é um ´chute´... vc criou a SP ´TEST´ e, ao que me parece, está chamando pela aplicação ´Test´... iguale à chamada pela aplicação ao nome da procedure preservando a caixa alta ou baixa... (TEST)
Se não for este o problema, coloque um fragmento do código usado para a chamada para que tentemos ajudá-lo...
T+
Este é um ´chute´... vc criou a SP ´TEST´ e, ao que me parece, está chamando pela aplicação ´Test´... iguale à chamada pela aplicação ao nome da procedure preservando a caixa alta ou baixa... (TEST)
Se não for este o problema, coloque um fragmento do código usado para a chamada para que tentemos ajudá-lo...
T+
GOSTEI 0
Minuto
12/08/2004
Amigos, estava usando o IBSP no form ,ai deletei e criei no Datamodule e funcionou! porque?
GOSTEI 0
Minuto
12/08/2004
Agora Funcionou mas não retorna o valor , porque?
coloquei uma grid ,um datasource , liguei IBSP e executei assim:
procedure TForm1.Button1Click(Sender: TObject);
begin
ibs.Transaction.StartTransaction;
ibs.Prepare;
ibs.ExecProc;
ibs.Transaction.Commit;
end;
coloquei uma grid ,um datasource , liguei IBSP e executei assim:
procedure TForm1.Button1Click(Sender: TObject);
begin
ibs.Transaction.StartTransaction;
ibs.Prepare;
ibs.ExecProc;
ibs.Transaction.Commit;
end;
GOSTEI 0
Gandalf.nho
12/08/2004
IBStoredProc deve ser usado para Procedures executáveis, para SELECT procedures use um IBQuery.
GOSTEI 0