B
base1
Unregistered / Unconfirmed
GUEST, unregistred user!
我在存储过程中定义:
( userid in number,
positionstring out varchar2,
finish out varchar2
)
其中positionstring返回的字符串长度大于255,
我用SQL Navigator测试存储过程运行正常
但是用DELPHI程序调用时却发现positionstring的返回参数为空!
后来发现原来storeproc的参数返回小于255长度的字符串时完全正常,
<p><font color=red>大虾救命啊:如何在存储过程中返回大于255的字符串?</font></p>
我的storeproc参数设置如下:
p1:=Tparam.Create(params, ptinput);
Params[0].Name:='userid';
Params[0].DataType:=ftfloat;
Params[0].ParamType:=ptinput;
p2:=Tparam.Create(Params, Ptoutput);
Params[1].Name:='positionString';
Params[1].DataType:=ftString;
Params[1].ParamType:=ptoutput;
p3:=Tparam.Create(Params, Ptoutput);
Params[2].Name:='finish';
Params[2].DataType:=ftString;
Params[2].ParamType:=ptoutput;
Params[0].asinteger:=userid;
Execproc;
( userid in number,
positionstring out varchar2,
finish out varchar2
)
其中positionstring返回的字符串长度大于255,
我用SQL Navigator测试存储过程运行正常
但是用DELPHI程序调用时却发现positionstring的返回参数为空!
后来发现原来storeproc的参数返回小于255长度的字符串时完全正常,
<p><font color=red>大虾救命啊:如何在存储过程中返回大于255的字符串?</font></p>
我的storeproc参数设置如下:
p1:=Tparam.Create(params, ptinput);
Params[0].Name:='userid';
Params[0].DataType:=ftfloat;
Params[0].ParamType:=ptinput;
p2:=Tparam.Create(Params, Ptoutput);
Params[1].Name:='positionString';
Params[1].DataType:=ftString;
Params[1].ParamType:=ptoutput;
p3:=Tparam.Create(Params, Ptoutput);
Params[2].Name:='finish';
Params[2].DataType:=ftString;
Params[2].ParamType:=ptoutput;
Params[0].asinteger:=userid;
Execproc;