How to get value from stored procedure,zeos+mysql5+delphi7 ?

Forum related to version 6.5.1 (alpha) and 6.6.x (beta) of ZeosLib's DBOs

Moderators: gto, cipto_kh, EgonHugeist

Post Reply
amicom
Fresh Boarder
Fresh Boarder
Posts: 2
Joined: 16.01.2007, 11:16

How to get value from stored procedure,zeos+mysql5+delphi7 ?

Post by amicom »

Hi,

I use Delphi 7 + Mysql 5.0.22 + zeoslib 6.6.0 beta and have stored procedure :

CREATE DEFINER=`kasa`@`%` PROCEDURE `suma`(racun_br INT,OUT vrijednost FLOAT)
BEGIN
SELECT SUM(racuni.CijenabezPDV) INTO vrijednost from kasa.racuni where racuni.BrRacuna=racun_br;
END

in shell procedure works fine :

mysql> call suma(5,@izlaz);
Query OK, 0 rows affected (0.02 sec)

mysql> select @izlaz;
+-----------------+
| @izlaz |
+-----------------+
| 3.4188034534454 |
+-----------------+
1 row in set (0.00 sec)


how to get value from mysql variable @izlaz in delphi ?

something like not work correctly ( I get message "Can not open a Resultset") :

procedure TForm1.Button1Click(Sender: TObject);
var rezultat:double;
begin
zquery1.Close;
zquery1.SQL.Clear;
zquery1.SQL.text:='call kasa.suma(5,@izlaz);';
zquery1.Open;
rezultat:=zquery1.Params[0].Asfloat;
end;
User avatar
dhongu
Junior Boarder
Junior Boarder
Posts: 37
Joined: 28.09.2005, 08:37
Location: Bucuresti
Contact:

Post by dhongu »

[syntax="delphi"]
procedure TForm1.Button1Click(Sender: TObject);
var rezultat:double;
begin
zquery1.Active:=false;
zquery1.SQL.text:='call kasa.suma(5,@izlaz);';
zquery1.ExecSQL;

zquery1.SQL.text:='select @izlaz;';
zquery1.open;
rezultat:=zquery1.Fields[0].Asfloat;
end;
[/syntax]
Dorin Hongu
amicom
Fresh Boarder
Fresh Boarder
Posts: 2
Joined: 16.01.2007, 11:16

Post by amicom »

Thanks !
Post Reply