给我看看啊...怎么和preparestatement一样的设置,这里怎么不行?
sb.append("{call ")
.append(ARProfile.PKG_RPT)
.append(".get_daily_sale_payment(?,?,?,?,?,?,?,?,?,?)}");
csmt = conn.prepareCall(sb.toString(),ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
csmt.setTimestamp(1,comValue.getBeginDate());
csmt.setTimestamp(2,comValue.getEndDate());
csmt.setString(3,deptId);
csmt.setString(4,operId);
csmt.setString(5, comValue.getReportType());
csmt.registerOutParameter(6,Types.VARCHAR);
csmt.registerOutParameter(7,Types.VARCHAR);
csmt.registerOutParameter(8,Types.VARCHAR);
csmt.registerOutParameter(9,OracleTypes.CURSOR);
csmt.registerOutParameter(10,OracleTypes.NUMERIC); csmt.execute();
if (ARProfile.SUCCESS != csmt.getLong(6))
{
log.debug(csmt.getString(7));
log.debug(csmt.getString(8));
throw new ARException(ARErrMsg.AR_GET_RPT_LIST_ERR);
}
//modify by w60007776 for porting
rs = ((ResultSet) csmt.getObject(9));
count = (BigDecimal) csmt.getObject(10);
startNum = startNum <=0 ? 1 : startNum;
if (!rs.absolute(startNum))
{
return result;
}
sb.append("{call ")
.append(ARProfile.PKG_RPT)
.append(".get_daily_sale_payment(?,?,?,?,?,?,?,?,?,?)}");
csmt = conn.prepareCall(sb.toString(),ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
csmt.setTimestamp(1,comValue.getBeginDate());
csmt.setTimestamp(2,comValue.getEndDate());
csmt.setString(3,deptId);
csmt.setString(4,operId);
csmt.setString(5, comValue.getReportType());
csmt.registerOutParameter(6,Types.VARCHAR);
csmt.registerOutParameter(7,Types.VARCHAR);
csmt.registerOutParameter(8,Types.VARCHAR);
csmt.registerOutParameter(9,OracleTypes.CURSOR);
csmt.registerOutParameter(10,OracleTypes.NUMERIC); csmt.execute();
if (ARProfile.SUCCESS != csmt.getLong(6))
{
log.debug(csmt.getString(7));
log.debug(csmt.getString(8));
throw new ARException(ARErrMsg.AR_GET_RPT_LIST_ERR);
}
//modify by w60007776 for porting
rs = ((ResultSet) csmt.getObject(9));
count = (BigDecimal) csmt.getObject(10);
startNum = startNum <=0 ? 1 : startNum;
if (!rs.absolute(startNum))
{
return result;
}
{
return result;
}
就是这里抱错误
你需要重新搞一个ResultSet才可以、问题在这里
rs = ((ResultSet) csmt.getObject(9));
查下API就知道了哇