可以的!方法如下:假定存储过程名字为  sp_yourprocedurename,有两个参数CallableStatement  cstmt  =  con.prepareCall("{call  sp_yourprocedurename(?,?}");
cstmt.registerOutparameter(2,java.sql.Types.FLOAT);
cstmt.setint(1,parameter1);
cstmt.execute();
out.println("Procedure  output  is  :"+cstmt.getFloat(2));

解决方案 »

  1.   

    cstmt.getFloat(2)是什么类型?
    是JAVA的数组吗?
      

  2.   

    好像不可以,用返回结果集不可以吗
    //准备SQL语句 
    strSQL = "{call sp_jsptest(?,?)}"; //准备可调用语句对象 
    sqlStmt = sqlCon.prepareCall(strSQL); //设置输入参数 
    sqlStmt.setString(1,strName); //登记输出参数 
    sqlStmt.registerOutParameter(2,java.sql.Types.Array); //执行该存储过程并返回结果集 
    sqlRst = sqlStmt.executeQuery(); //获取来自结果集中的数据 
    sqlRst.next(); 
    strWelcome = sqlRst.getString(1); //获取输出参数的值 
    java.sql.Array strMyName = sqlStmt.getString(2);