Array
(
)

Variável de retorno de Store Procedure

Dsw
   - 05 nov 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

Pjrm1470
   - 05 nov 2009

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

Agradeço.

Dsw
   - 05 nov 2009

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 

Pjrm1470
   - 05 nov 2009

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.

Dsw
   - 05 nov 2009

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.

Dsw
   - 09 nov 2009

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

Obrigado pela atenção!!