CREATE OR REPLACE PROCEDURE pro_lee01(in_a IN NUMBER,out_01 OUT NUMBER,cur_01 OUT p_lee01.cur_lee01) IS
BEGIN
out_01 := 3;
OPEN cur_01 FOR
SELECT * FROM TLEE01;
dbms_output.put_line(IN_a);END;以上为Oracle的存储过程,使用ODAC调用过程查询,其中有个游标输出参数cur_01,请问这个游标参数在Delphi客户端如何处理?procedure TForm1.Button9Click(Sender: TObject);
var
s: string;
begin
s := 'begin pro_lee01(:a,:b,:cur_01 ); end;';
OraQuery1.SQL.Clear;
OraQuery1.SQL.Add(s);
OraQuery1.AutoCommit := false;
OraQuery1.FetchAll := true;
OraQuery1.ParamByName('a').value := 4;
OraQuery1.ParamByName('b').ParamType := ptoutput;
OraQuery1.ParamByName('b').DataType:= ftinteger; OraQuery1.ParamByName('cur_01').ParamType := ptoutput;
OraQuery1.ParamByName('cur_01').DataType:= ftcursor; //这个游标输出是个多字段的结果集,在客户端如何拆分显示?
OraQuery1.Open; showmessage(OraQuery1.ParamByName('b').AsString); //显示返回值
ShowValue(OraQuery1, Button8.Caption);
end;客户端用ODAC的Query调用查询,其中游标输出参数cur_01是个多字段结果集,客户端如何处理这个游标显示结果集中的多个字段?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货