存储过程代码较长,不用看也行了。主要是看看开头的参数结构,再看看JAVA代码,应该就能明白我的意思了。

解决方案 »

  1.   

    java.sql.CallableStatement selectStmt;
        selectStmt = connection.prepareCall("{call pro_sprinkstory(?,?,?)}");
     selectStmt.setString(1, number);
          selectStmt.setInt(2, operType);
          selectStmt.registerOutParameter(3, java.sql.Types.INTEGER);//为输出
          selectStmt.execute();
      

  2.   

    pro_sprinkstory 为存储过程名
      

  3.   

    CallableStatement cs= con.prepareCall("{call 存储过程名(?,?,?)}");
    cs.set类型(参数位置,值);
    cs.registerOutParameter(参数位置,java.sql.Types.常量);
    cs.execute();
    cs.get类型(返回的参数位置);
      

  4.   

    那么什么时候要用到OUTPUT参数呢?如果单纯是一个查询功能的存储过程,需要用到OUTPUT吗?
      

  5.   

    OUTPUT参数 是根据存储过程有没有OUTPUT
    没有则不需要
      

  6.   

    唉,还是不懂为什么要使用OUTPUT参数,能否举个例子?
      

  7.   

    例如最简单的,可以用output参数返回成功或错误信息
      

  8.   

    那java调用存储过程,结果值就不是通过OUTPUT参数来返回的咯?
    而是由
    select @param  --假设@param是我已经查询好的参数
    这种select语句决定的。
    我的理解对吗?