Fórum Stored Procedure retornando parametro para o Delphi #290316
02/08/2005
0
Fiz uma stored procedure em PL/SQL(Oracle) que me retorna um parametro do tipo String;
O problema é que não consigo acessar esse parametro no Delphi.
estou fazendo da sequinte forma:
try
dmCAQ.cdsCAQCopiaFT.FetchParams;
{ Os parametros abaixo são IN }
dmCAQ.cdsCAQCopiaFT.Params[0].Value := edtDescFT.Text;
dmCAQ.cdsCAQCopiaFT.Params[1].Value := edtCodEmpOrig.Text;
dmCAQ.cdsCAQCopiaFT.Params[2].Value := edtCodItemOrig.Text;
dmCAQ.cdsCAQCopiaFT.Params[3].Value := edtCodEmpDest.Text;
dmCAQ.cdsCAQCopiaFT.Params[4].Value := edtCodItemDest.Text;
{Esse proximo parametro é o de retorno OUT }
dmCAQ.cdsCAQCopiaFT.Params[5].Value := v_new_cod_ft;
dmCAQ.cdsCAQCopiaFT.Execute;
showMessage(´Copia gerada com sucesso !´);
edtCodFT.Text := v_new_cod_ft;
except
showMessage(´Problemas com a copia da Ficha Técnica !´);
end;
No dmCAQ.cdsCAQCopiaFT.execute da o sequinte erro:
´dbExpress : Invalid Parameter´;
Alguém sabe como posso acessar esse parametro ?
Mascotepc
Curtir tópico
+ 0Posts
02/08/2005
Rjun
Gostei + 0
02/08/2005
Mascotepc
cod_emp_origem IN VARCHAR2,
cod_item_origem IN VARCHAR2,
cod_emp_destino IN VARCHAR2,
cod_item_destino IN VARCHAR2,
new_cod_ft OUT VARCHAR2)
AS BEGIN
Gostei + 0
02/08/2005
Rjun
A mensagem é só essa ou tem algo mais?
Gostei + 0
02/08/2005
Mascotepc
Gostei + 0
02/08/2005
Rjun
Gostei + 0
02/08/2005
Mascotepc
Gostei + 0
02/08/2005
Rjun
Se v_new_cod_ft não tem valor então a linha que você faz a atribuição não tem necessidade de existir.
Para você obter o valor do parâmetro após a execução da stp faça o seguinte :
edtCodFT.Text := dmCAQ.cdsCAQCopiaFT.Params[5].Value;
No DBExpress com Oracle não tem ParamByName?
Gostei + 0
02/08/2005
Mascotepc
Tentei fazer dessa forma, executar a Stored sem atribuir nada a esse paramentor e deu o mesmo erro na hora de EXECUÇÃO : ´DBExpress Error : Invalid Parameter´.
Sim ! DBExpress com Oracle posssui ParamByName !
Gostei + 0
02/08/2005
Rjun
Bom, vc usa o parâmetro durante a STP ou ele só recebe um valor para retornar a aplicação?
Gostei + 0
02/08/2005
Mascotepc
Inicialmente fiz a STP sem esse parametro de retorno e funcionou perfeitamente. Só que ai surgiu a necessiade do retorno. Ai Criei este parametro para que possa retornar para a aplicação. Nos componentes do Delphi o parametro aparece normalmente, tanto no TSQLStoredProc do Servidor quanto no ClientDataSet do Cliente.
Gostei + 0
02/08/2005
Rjun
Gostei + 0
02/08/2005
Mascotepc
Gostei + 0
02/08/2005
Rjun
Gostei + 0
02/08/2005
Massuda
dmCAQ.cdsCAQCopiaFT.Params[5].Value := v_new_cod_ft;
Gostei + 0
02/08/2005
Mascotepc
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)