public String executeProc(String s)
    {
        rs = null;
        String s2 = "{call PROC_AUTOID(?,?)}";
        String s1;
        try
        {
            if(conn != null)
                conn.close();
            conn = DriverManager.getConnection(sConnStr, UseName, PassWord);
            CallableStatement callablestatement = conn.prepareCall(s2);
            callablestatement.setString(1, s);
            callablestatement.registerOutParameter(2, 1);
            rs = callablestatement.executeQuery();
            rs.next();
            String s3 = rs.getString(1);
            s1 = callablestatement.getString(2);
            rs.close();
            callablestatement.close();
            conn.close();
        }
        catch(Exception exception)
        {
            return null;
        }
        return s1;
    }
你修改一下就可以了

解决方案 »

  1.   

    //以下返回一个结果集
              CallableStatement cs=(CallableStatement) conn.prepareCall
                  ("{?=call  sfhc.pkg_batchloss.getRkxxInfo(?)}");
              cs.registerOutParameter(1,OracleTypes.CURSOR);
              cs.setString(2,jmzh);           //JMZH
              cs.execute();

    ResultSet rs = (ResultSet)cs.getObject(1);//没有结果返回与之类似,只是call前面没有"?="