oracle输出字符串参数如果长度超过了130就会出错了(OutVal1 == "")。
请问,这是什么问题,如何解决?
谢谢!vc代码
OParameterCollection oparac;
oparac=odb.GetParameters();
oparac.Add("n",32,OPARAMETER_INVAR,OTYPE_NUMBER);
oparac.Add("InVal1","0752",OPARAMETER_INVAR,OTYPE_VARCHAR2);
oparac.Add("OutVal1",NULL,OPARAMETER_OUTVAR,OTYPE_VARCHAR2);
odb.ExecuteSQL("begin p_test(:n, :InVal1, :OutVal1);end;");
CString OutVal1 = oparac.GetParameter("OutVal1");
Oracle 代码
create or replace procedure p_test(n in number, in1 in varchar2, out1 out varchar2) as
i number;
begin
for i in 1..n loop
out1 := out1 || in1;
end loop;
out1 := n || out1;
end;
/
请问,这是什么问题,如何解决?
谢谢!vc代码
OParameterCollection oparac;
oparac=odb.GetParameters();
oparac.Add("n",32,OPARAMETER_INVAR,OTYPE_NUMBER);
oparac.Add("InVal1","0752",OPARAMETER_INVAR,OTYPE_VARCHAR2);
oparac.Add("OutVal1",NULL,OPARAMETER_OUTVAR,OTYPE_VARCHAR2);
odb.ExecuteSQL("begin p_test(:n, :InVal1, :OutVal1);end;");
CString OutVal1 = oparac.GetParameter("OutVal1");
Oracle 代码
create or replace procedure p_test(n in number, in1 in varchar2, out1 out varchar2) as
i number;
begin
for i in 1..n loop
out1 := out1 || in1;
end loop;
out1 := n || out1;
end;
/
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货