java吧 关注:1,224,915贴子:12,681,449
  • 17回复贴,共1

菜鸟求解,关于SSH框架中调用ORACLE存储问题

只看楼主收藏回复

网上资料关于这个的好像不多,大多是JDBC的调用,而不是框架中调用
存储函数为
create or replace procedure hsz_count(
dt in number,dsum in out number )
is
begin
select count(*) into dsum from hsz_emp where deptno = dt;
end hsz_count;
以下是调用代码
String sql="{call hsz_count(?,?)}";
if(deptno == null||"".equals(deptno.trim())){
}else{
int dp = Integer.parseInt(deptno);
Integer rc = 0;
SQLQuery query=session.createSQLQuery(sql);
query.setInteger(1, dp);
query.setInteger(2, rc);
query.executeUpdate();
List list =query.list();
if(list.size()!= 0){
rc = (Integer) query.list().get(0);
this.page.setRecordCount(rc);
}
this.page.setList(list);
}
异常
java.lang.IllegalArgumentException: Positional parameter does not exist: 2 in query: {call hsz_count(?,?)}
第二个参数设置不对?求解.............


IP属地:广西1楼2014-03-24 17:03回复


    IP属地:广西2楼2014-03-24 17:08
    收起回复
      第二个是输出参数,应该是有区别的吧?我没用过,等大神来看


      IP属地:河南来自Android客户端3楼2014-03-24 17:10
      收起回复
        @lvenle 这能解决下么


        IP属地:广西4楼2014-03-24 17:16
        回复
          估计下标是从0开始 你试试 记不清楚了


          IP属地:湖北6楼2014-03-24 17:51
          收起回复


            IP属地:北京来自iPhone客户端7楼2014-03-24 18:00
            回复
              不懂帮顶


              IP属地:安徽本楼含有高级字体8楼2014-03-24 18:44
              回复
                学艺不精,不能为楼主解决


                9楼2014-03-24 18:49
                回复

                  新人表示完全不懂


                  IP属地:四川10楼2014-03-24 20:05
                  回复
                    纯jdbc说个j8 h


                    IP属地:浙江来自Android客户端11楼2014-03-24 20:09
                    回复