说清楚一些:
   我写的存储过程function带有输入参数,输出参数是一个结果集
   现在我调用这个存储过程,结果针对输出参数报type类型错误,总共才有那么几种类型,和结果集能挂上钩的不外乎array和struct几个,测试一下都报类型type错,该如何解决这个问题???
   最好给个实例

解决方案 »

  1.   

    别用function,用带out参数的Procedure试试
      

  2.   

    public Array getArray(String colName)
                   throws SQLException
    Returns the value of the designated column in the current row of this ResultSet object as an Array object in the Java programming language.Parameters:colName - the name of the column from which to retrieve the valueReturns:an Array object representing the SQL ARRAY value in the specified columnSince: 1.2See Also: What Is in the JDBC 2.0 API
      

  3.   

    能否给个java调用实例?
    结果集所带字段类型随便
    我看看就行
      

  4.   

    to 楼上,怎么我试过Array类型啊,也是报错
      

  5.   

    //准备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); 
      

  6.   

    String QQuery = "{call JG_GE(?)}";
    Stmt = Conn.prepareStatement(QQuery);
    Stmt.setString(1,"02");
    Stmt.execute();
    ResultSet rs = Stmt.getResultSet();
    while(rs.next()) {
    str1 = rs.getString(1);
    str2 = rs.getString(2);  
                      ..........
    }
    rs.close();
    Stmt.close();
    Conn.close();