咏南开发框架调用存储过程演示

create or replace package RD_pk
as
type Cursor_Ref is ref cursor;
end;

create or replace procedure P_999(p_cur out RD_pk.Cursor_Ref) is
begin
OPEN p_cur FOR
select c1,c2 from table999;
end P_999;

create or replace procedure P_998(p1 in varchar2, p2 in varchar2) is
begin
insert into table999(c1,c2) values (p1,p2);
COMMIT;
end P_998;

procedure TForm1.Button1Click(Sender: TObject);
var m:TServerMethods1Client;
begin
m:=TServerMethods1Client.Create(SQLConnection1.DBXConnection);
ClientDataSet1.Data := m.spOpen('1', 'P_999', null);
m.Free;
end;

procedure TForm1.Button2Click(Sender: TObject);
var m:TServerMethods1Client;
p:TParams;
begin
m:=TServerMethods1Client.Create(SQLConnection1.DBXConnection);
p:=TParams.Create(nil);
p.CreateParam(ftString, 'p1', ptInput).AsString := '1';
p.CreateParam(ftString, 'p2', ptInput).AsString := '1';
m.spExec('1', 'P_998', PackageParams(p));
m.Free;
p.Free;
end;

原文地址:https://www.cnblogs.com/hnxxcxg/p/5584533.html