关于带输出参数的存储过程调用的问题。(50分)

  • 主题发起人 主题发起人 ping_hua
  • 开始时间 开始时间
P

ping_hua

Unregistered / Unconfirmed
GUEST, unregistred user!
我用的是DELPHI6+ORACLE9i
我的调用方法如下:
set serveroutput on
DECLARE
rq varchar2(10);s2 number;s1 number;s3 number;
begin
PDT_SUMZYQ (rq,s1,s2,s3); /*s1,s2,s3是存储过程的输出参数*/
end;
请教各位高手这种调用方法对吗?怎么看s1,s2,s3的值,在DELPHI中如何用Query调用这个过程。
 
query.sql.text:='begin pdt_sumzyq(rq,s1,s2,s3);end;'
这样就可以用用query来调用存储过程的。
你上面的语句是在delphi环境中调用吗?
 
我的意思是如何得到返回参数的值,调用方法我已经知道了。
 
查查旧帖吧,有这个。
我曾经的一个问题 http://www.delphibbs.com/delphibbs/dispq.asp?lid=1321421
得到Oracle存储过程的返回值。
 
function GetParamValue(rq:String):String;
var
s1,s2,s3:integer;
begin
with SP_PDT_SUMZYQ do
begin
Close;
Params.ParamByName('@rq').Value:=rq;
Params.ParamByName('@s1').Value:=0;
Params.ParamByName('@s2').Value:=0;
Params.ParamByName('@s3').Value:=0;
Open;
Result:=IntToStr(Params.ParamByName('@s1').Value)
+IntToStr(Params.ParamByName('@s2').Value)
+IntToStr(Params.ParamByName('@s3').Value);
end;
end;
 
后退
顶部