Fórum como chamar uma procedure no delphi? #45120

24/06/2004

0

criei esta procedure, usando o firebird 1.5:
CREATE PROCEDURE PROC_SOMAITEM (
NOTA_NUMERO INTEGER,
NOTA_DATA DATE)
RETURNS (
VALOR_TOTITEM DOUBLE PRECISION)
AS
BEGIN
SELECT SUM(ITEM_QTDE * ITEM_VALUNIT) FROM nfa_itemnota
WHERE NOTA_NUMERO = :nota_numero and NOTA_DATA = :nota_data
INTO :valor_totitem;
EXIT;
END

ficou joia....

estou tentando chamá-la no delphi desta forma com o componente sqldataset

SQLProc_totitem.Active:=False;
SQLProc_totitem.CommandText:=
´SELECT * FROM PROC_SOMAITEM(´´IntToStr(dmdados.ClientNotaNOTA_NUMERO.Value)´´,´´DateTimeToStr(dmdados.ClientNotaNOTA_DATA.Value)´´)´;
LBL_EXTENSO.Caption := Extenso(SQLProc_totitem.ParamByName(´VALOR_TOTITEM´).asFloat);
SQLProc_totitem.Active:=True;

so que na hora de executar ele da um erro:

SQLProc_totitem: Parameter ´VALOR_TOTITEM´ not found

como posso resolver, sendo que tenho que passar dois parametro um inteiro e outro do tipo data...?


Duarteol

Duarteol

Responder

Posts

24/06/2004

Maicongabriel

SQLProc_totitem.Active:=False;
SQLProc_totitem.Close;


SQLProc_totitem.CommandText:= ´SELECT * FROM PROC_SOMAITEM(´´IntToStr(dmdados.ClientNotaNOTA_NUMERO.Value)´´,´´DateTimeToStr(dmdados.ClientNotaNOTA_DATA.Value)´´)´;
SQLProc_totitem.CommandText:= ´SELECT * FROM PROC_SOMAITEM(´ +
                              IntToStr(dmdados.ClientNotaNOTA_NUMERO.Value) +
                              ´,´ +
                              DateTimeToStr(dmdados.ClientNotaNOTA_DATA.Value) +
                              ´)´;


LBL_EXTENSO.Caption := Extenso(SQLProc_totitem.ParamByName(´VALOR_TOTITEM´).asFloat);
Como você quer ´puxar´ um valor, antes mesmo de abrir ´SQLProc_totitem´ ? E ainda, por que você esta puxando um parâmetro? Não acha que deveria puxar um resultado ? E porque não utiliza um ´TSQLStoredProc´ ? Ja que esta utilizando DBX...


SQLProc_totitem.Active:=True;
SQLProc_totitem.Open;



Responder

Gostei + 0

24/06/2004

Afarias

procedimentos q não usam SUSPEND devem ser chamaos com

EXECUTE PROCEDURE



T+


Responder

Gostei + 0

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

Aceitar