Retorno de uma Function no Oracle
Pessoal, criei uma Function no Oracle que me retona um NUMBER.
No meu DM coloquei um componente sqlStoredProc da Paleta dbExpress. Consigo acessar perfeitamente essa Function e todos os seus parametros são trazidos perfeitamente.
Parametros trazidos da Function:
0 - Result - ftBCD - ptOutput
1 - v_peso1 - ftBCD - ptInput
2 - v_peso2 - ftBCD - ptInput
3 - v_peso2 - ftBCD - ptInput
Agora preciso pegar o resultado dessa function, estou tentando atráves do paramentro OutPut que foi trazido da Function, mais sempre me retorna o sequinte erro : ´dbExpress Error : Invalid Parameter´
O Código que chama a Function é o sequinte :
procedure TCAQ_FUNC001.bbtCalcularClick(Sender: TObject);
var v_result : Real;
begin
try
dmCAQ2.cdsCAQfuncPF.FetchParams;
dmCAQ2.cdsCAQfuncPF.Params[0].Value := v_result;
dmCAQ2.cdsCAQfuncPF.Params[0].Value := edtPesoCadinho.Value;
dmCAQ2.cdsCAQfuncPF.Params[1].Value := edtPesoAmoAntes.Value;
dmCAQ2.cdsCAQfuncPF.Params[2].Value := edtPesoAmoApos.Value;
dmCAQ2.cdsCAQfuncPF.Execute; {Aqui da o erro }
edtResultadoXP.Value := v_result;
except
showMessage(´Problemas com o calculo da analise !´);
end;
end;
Alguém poderia me dizer oque estou fazendo de errado ?
No meu DM coloquei um componente sqlStoredProc da Paleta dbExpress. Consigo acessar perfeitamente essa Function e todos os seus parametros são trazidos perfeitamente.
Parametros trazidos da Function:
0 - Result - ftBCD - ptOutput
1 - v_peso1 - ftBCD - ptInput
2 - v_peso2 - ftBCD - ptInput
3 - v_peso2 - ftBCD - ptInput
Agora preciso pegar o resultado dessa function, estou tentando atráves do paramentro OutPut que foi trazido da Function, mais sempre me retorna o sequinte erro : ´dbExpress Error : Invalid Parameter´
O Código que chama a Function é o sequinte :
procedure TCAQ_FUNC001.bbtCalcularClick(Sender: TObject);
var v_result : Real;
begin
try
dmCAQ2.cdsCAQfuncPF.FetchParams;
dmCAQ2.cdsCAQfuncPF.Params[0].Value := v_result;
dmCAQ2.cdsCAQfuncPF.Params[0].Value := edtPesoCadinho.Value;
dmCAQ2.cdsCAQfuncPF.Params[1].Value := edtPesoAmoAntes.Value;
dmCAQ2.cdsCAQfuncPF.Params[2].Value := edtPesoAmoApos.Value;
dmCAQ2.cdsCAQfuncPF.Execute; {Aqui da o erro }
edtResultadoXP.Value := v_result;
except
showMessage(´Problemas com o calculo da analise !´);
end;
end;
Alguém poderia me dizer oque estou fazendo de errado ?
Mascotepc
Curtidas 0
Respostas
Mascotepc
21/11/2005
Pessoal houve um erro de digitação coloquei o mesmo indice em Params.
o correto seria:
procedure TCAQ_FUNC001.bbtCalcularClick(Sender: TObject);
var v_result : Real;
begin
try
dmCAQ2.cdsCAQfuncPF.FetchParams;
dmCAQ2.cdsCAQfuncPF.Params[0].Value := v_result;
dmCAQ2.cdsCAQfuncPF.Params[1].Value := edtPesoCadinho.Value;
dmCAQ2.cdsCAQfuncPF.Params[2].Value := edtPesoAmoAntes.Value;
dmCAQ2.cdsCAQfuncPF.Params[3].Value := edtPesoAmoApos.Value;
dmCAQ2.cdsCAQfuncPF.Execute; {Aqui da o erro }
edtResultadoXP.Value := v_result;
except
showMessage(´Problemas com o calculo da analise !´);
end;
end;
OBS : O erro continua
o correto seria:
procedure TCAQ_FUNC001.bbtCalcularClick(Sender: TObject);
var v_result : Real;
begin
try
dmCAQ2.cdsCAQfuncPF.FetchParams;
dmCAQ2.cdsCAQfuncPF.Params[0].Value := v_result;
dmCAQ2.cdsCAQfuncPF.Params[1].Value := edtPesoCadinho.Value;
dmCAQ2.cdsCAQfuncPF.Params[2].Value := edtPesoAmoAntes.Value;
dmCAQ2.cdsCAQfuncPF.Params[3].Value := edtPesoAmoApos.Value;
dmCAQ2.cdsCAQfuncPF.Execute; {Aqui da o erro }
edtResultadoXP.Value := v_result;
except
showMessage(´Problemas com o calculo da analise !´);
end;
end;
OBS : O erro continua
GOSTEI 0