Variável de retorno de Store Procedure

05/11/2009

Boa Tarde, como posso tratar uma variável de retorno de uma Stored Procedure no Delphi?
A minha SP realiza um query numa tabela e grava o resultado em uma outra tabela.
A medida que os dados vão sendo incluídos eu alimento um variável que totalizará o
número de linhas inseridas para posterior apresentação ao usuário. Não sei se me fiz claro.
Obrigado pela ajuda

Dsw

Respostas

05/11/2009

Pjrm1470

Não entendi direito.
Se não for pedir muito, tem como você postar o codigo da sua procedure?

Agradeço.
Responder Citar

05/11/2009

Dsw

O cabeçalho da SP é o seguinte:
CREATE PROCEDURE SPIMPORTACPR (
    CodigoEmpresa Char(6),
    DataInicial  Date,
    DataFinal    Date,
    TipoRegistro  Integer)
Returns (RegistrosInseridos Integer)

Essa conteúdo dessa variável RegistrosInseridos é que eu quero mostrar ao
Usuário assim que terminar a execução da SP.
O Código de chamada no Delphi da SP eu não tenho aqui comigo !

Obrigado pela atenção 
Responder Citar

05/11/2009

Pjrm1470

Não sei como está a implementação da SP, porém a lógica mais simples para isso é você criar um contador dentro dela. Inicie-a com 0 e a cada registro inserido vc aumenta 1. Deve ter um loop que faz a gravação de cada registro. É ai que se usa o contador. No final jogue o valor do contador a variavel de retorno da SP.

Não sei se vai ajudar, mas tentei.
Abraços e boa sorte.
Plínio.
Responder Citar

05/11/2009

Dsw

Boa Tarde Plínio!
É exatamente isso que estou fazendo, a minha dúvida e quanto a exibição
dessa variável de retorno lá no Delphi.
Estou usando algo do tipo

TotaldeLinhas := DM.SQLStoredProcedure.ParamByName('RegistrosInseridos').AsInteger;

Só que está me retornando sempre Zero.
Responder Citar

09/11/2009

Dsw

Resolvido!!
Estava esquecendo de inicializar a variável de retorno!

Obrigado pela atenção!!
Responder Citar