日期:2014-05-17  浏览次数:20819 次

关于java通过存储过程获取数据集的问题?
i_STARTTIME VARCHAR2,
IO_CURSOR IN OUT CIDA_DT.CURTYPE
存储过程的两个入参。
这里,游标是 in out类型的。

当通过jdbc运行这个存储过程的时候,用
stmt.registerOutParameter(2, OracleTypes.CURSOR); 
rs=(ResultSet) stmt.getObject(2); 

取值的时候,rs为空。存储过程没有问题。后台也没报错。
请高手打救。


------解决方案--------------------
引用:
Quote: 引用:

你都没执行哪来的值。

stmt.registerOutParameter(2, OracleTypes.CURSOR); 
stmt.execute();
rs=(ResultSet) stmt.getObject(2); 

stmt.execute();我忘了贴出来了;但是还是取不到值。


嗯,就是说你发个错误的代码让大家慢慢猜闷呗。

要不你就存储过程代码全贴,jdbc代码全贴。

要不就慢慢挤牙膏,等人家找到错误又说你写了但是忘了贴。
------解决方案--------------------
是不是单引号写错地方了。
 .prepareCall("{call del_r_catt_jixiao_1008('date"+starDate+"','date"+endDate+"',?,?,?)}");
猜的。