PreparedCall 参数方式同PreparedStatement

解决方案 »

  1.   

    采用CallStatement类处理
    如:
        CallableStatement cs = null;
        try {
          cs = (CallableStatement) conn.prepareCall(
              "{call PKG_BASEINFO.PRO_CREATEVERIFYCODE(?,?,?)}");
          cs.setString(1,info.getSESSIONID());
          cs.setString(2,info.getVERIFYCODE());
          cs.registerOutParameter(3, Types.VARCHAR);
          cs.executeUpdate();
          String flag = cs.getString(3);
        }
        catch (Exception ex) {
          throw ex;
        }
        finally {
          //clean db 
        }
      

  2.   

    我这有SYBASE希望对你有所帮助
    <% 
                  DataSource ds = null;
         InitialContext ctx=new InitialContext();
       ds=(DataSource)ctx.lookup("java:comp/env/jdbc/sybase");
       Connection conn = ds.getConnection();   
       CallableStatement stmt=conn.prepareCall("{call p_report(?,?,?,?,?)}");
       stmt.setString(1,"200401");
       stmt.setString(2,"200401");
       stmt.setString(3,"0000");
       stmt.setString(4,"12345678AB");
       stmt.setString(5,"FP");
       ResultSet rs=stmt.executeQuery();
    %>