Retorna codigo com ADO Stored Procedure
Pessoal, estou com uma dúvida e preciso da ajuda de vc´s...
Eu utilizo Delphi 7 com Firebird 2.0 e uso os componentes ADO para falar com o banco.
Ao fazer uma inclusão de um registro utilizo uma stored procedure que está banco e executo com o componente TADOCommand “stored procedure” eu preciso que a procedure me retorne o código que foi gerado por exemplo:
[b:083d1c1fc9]Código na aplicação:[/b:083d1c1fc9]
Var
codigo_retorno: integer;
Begin
dmConexao.ADOConnection.BeginTrans;
try
with SP_CU005 do
begin
Parameters.ParamByName(´V_ACAO´).Value := ´A´;
Parameters.ParamByName(´V_IDGRUPO´).Value := CDSCU005IDGRUPO.AsInteger;
Parameters.ParamByName(´V_NMGRUPO´).Value := CDSCU005NMGRUPO.AsString;
Parameters.ParamByName(´V_USUARIO´).Value := frmPrincipal.NMUSUARIOLOGADO;
codigo_retorno := Execute;
dmConexao.ADOConnection.CommitTrans;
Com este código o Delphi retorna o seguinte erro: “Incompatible Types: ‘Integer’ and ‘_RecordSet’
[b:083d1c1fc9]Código da stored procedure no banco[/b:083d1c1fc9]
/* Inclui um novo grupo de desconto */
l_sequencia = next value for seq_cu005_id;
insert into cu005 (idgrupo, nmgrupo) values (:l_sequencia, :v_nmgrupo);
/* Atualiza o log de inclusao */
insert into logcu005 (idlog, idreg, operacao, campo, vlrnovo, nmusuario) values (next value for seq_logcu005_id, :l_sequencia, ´I´, ´NMGRUPO´, :v_nmgrupo, :v_usuario);
/* Guarda o código gerado para retorno */
r_idgrupo = l_sequencia;
Suspend;
Obrigado pela ajuda....
Eu utilizo Delphi 7 com Firebird 2.0 e uso os componentes ADO para falar com o banco.
Ao fazer uma inclusão de um registro utilizo uma stored procedure que está banco e executo com o componente TADOCommand “stored procedure” eu preciso que a procedure me retorne o código que foi gerado por exemplo:
[b:083d1c1fc9]Código na aplicação:[/b:083d1c1fc9]
Var
codigo_retorno: integer;
Begin
dmConexao.ADOConnection.BeginTrans;
try
with SP_CU005 do
begin
Parameters.ParamByName(´V_ACAO´).Value := ´A´;
Parameters.ParamByName(´V_IDGRUPO´).Value := CDSCU005IDGRUPO.AsInteger;
Parameters.ParamByName(´V_NMGRUPO´).Value := CDSCU005NMGRUPO.AsString;
Parameters.ParamByName(´V_USUARIO´).Value := frmPrincipal.NMUSUARIOLOGADO;
codigo_retorno := Execute;
dmConexao.ADOConnection.CommitTrans;
Com este código o Delphi retorna o seguinte erro: “Incompatible Types: ‘Integer’ and ‘_RecordSet’
[b:083d1c1fc9]Código da stored procedure no banco[/b:083d1c1fc9]
/* Inclui um novo grupo de desconto */
l_sequencia = next value for seq_cu005_id;
insert into cu005 (idgrupo, nmgrupo) values (:l_sequencia, :v_nmgrupo);
/* Atualiza o log de inclusao */
insert into logcu005 (idlog, idreg, operacao, campo, vlrnovo, nmusuario) values (next value for seq_logcu005_id, :l_sequencia, ´I´, ´NMGRUPO´, :v_nmgrupo, :v_usuario);
/* Guarda o código gerado para retorno */
r_idgrupo = l_sequencia;
Suspend;
Obrigado pela ajuda....
Silviomorelo
Curtidas 0