Fórum Como usar uma stored procedure no Delphi ? #321174

11/05/2006

0

tenho essa SP

CREATE PROCEDURE GERA_CTARECEBER (
COND_PAGTO INTEGER,
DATA DATE,
VALOR NUMERIC (15, 2),
COD_EMPRESA CHAR (2))
RETURNS (
PARCELA INTEGER,
PARCELA_DE VARCHAR (20),
EMISSAO DATE,
QTDE_DIAS INTEGER,
DATA_VENCTO DATE,
VVALOR NUMERIC (15, 2),
TAXA_JUROS NUMERIC (15, 2),
VALOR_JUROS NUMERIC (15, 2),
TAXA_PART NUMERIC (15, 2),
FCOD_EMPRESA CHAR (2))
AS
DECLARE VARIABLE QTD_DIAS INTEGER;
DECLARE VARIABLE PCT_PARC NUMERIC(15,2);
DECLARE VARIABLE PCT_JUROS NUMERIC(15,2);
DECLARE VARIABLE VCOD_EMPRESA VARCHAR(10);
DECLARE VARIABLE COD_COND_PGTO INTEGER;
DECLARE VARIABLE TOTAL_PARC INTEGER;
DECLARE VARIABLE NR_PARCELA INTEGER;
DECLARE VARIABLE I INTEGER;
DECLARE VARIABLE PCT_PART NUMERIC(15,2);
DECLARE VARIABLE PCT NUMERIC(15,2);
DECLARE VARIABLE TOTAL NUMERIC(15,2);
DECLARE VARIABLE TGERAL NUMERIC(15,2);
DECLARE VARIABLE QTDE_PARC INTEGER;
begin

SELECT QTD_PARCELAS
FROM COND_PGTO WHERE COD_EMPRESA = :COD_EMPRESA AND COD_COND_PGTO = :COND_PAGTO
INTO :QTDE_PARC;

I = 1;

TOTAL = VALOR / :QTDE_PARC;
TGERAL = 0.00;
total_parc = :qtde_parc;



while (i <= :QTDE_PARC) do
begin

SELECT COD_EMPRESA,COD_COND_PGTO,NR_PARCELA,QTD_DIAS,PCT_PARC,PCT_JUROS
FROM COND_PGTO_ITEM WHERE COD_EMPRESA = :COD_EMPRESA AND COD_COND_PGTO = :COND_PAGTO AND NR_PARCELA = :I
INTO :VCOD_EMPRESA,:COD_COND_PGTO,:NR_PARCELA,:QTD_DIAS,:PCT_PARC,:PCT_JUROS;

PCT = :PCT_JUROS / 100;
PCT_PART = :PCT_PARC / 100;

TOTAL = ((:PCT_PARC * VALOR) / 100);

PARCELA = :NR_PARCELA;
VVALOR = ((TOTAL * PCT) + TOTAL);
DATA_VENCTO = :DATA + QTD_DIAS;
FCOD_EMPRESA = :COD_EMPRESA;

TGERAL = TGERAL + VVALOR;
TAXA_PART = :PCT_PARC;
TAXA_JUROS = :PCT_JUROS;
EMISSAO = :DATA;
PARCELA_DE = cast(:NR_PARCELA as varchar(2)) || ´/´||cast(total_parc as varchar(2));
QTDE_DIAS = :QTD_DIAS;
VALOR_JUROS = (TOTAL * PCT);



i = i + 1;
SUSPEND;
end



PARCELA = 9999;
VVALOR = TGERAL;
DATA_VENCTO = :DATA;
FCOD_EMPRESA = :COD_EMPRESA;

TAXA_PART = 100;
TAXA_JUROS = 0;
SUSPEND;



end



Como faço para usa-la no delphi ? quais os componentes e como faço para declarar ela la ?

valew


Charlesgarrotti

Charlesgarrotti

Responder

Posts

11/05/2006

Erileyvb

não sei qual engine de acesso você está usando e nem qual banco de dados, parece ser interbase, mas você pode acessar uma stored procedure do interbase utilizando dbexpress ou ibx.
no dbexpress
coloque um componente SQLStoredProc, na propriedade sqlconnection, selecione o componente sqlconnection que faz a ligação com a sua base de dados.
Na propriedade storedprocname, selecione sua storedprocedure.
no onclick de um botão por exemplo coloque o seguinte código:
SQLStoredProc1.Close;
SQLStoredProc1.Params[0].Value:=valor que deve ser passado para o parametro;
...demais parametros;
SQLStoredProc1.ExecProc;
no ibx
coloque um componente IBStoredProc, na propriedade database, selecione o componente ibdatabase que faz a ligação com a sua base de dados.
Na propriedade storedprocname, selecione sua storedprocedure.
no onclick de um botão por exemplo coloque o seguinte código:
IBStoredProc1.Close;
IBStoredProc1.Params[0].Value:=valor que deve ser passado para o parametro;
...demais parametros;
IBStoredProc1.Active:=true;


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar