function f_test的返回值不是一个有效的显示字段!

解决方案 »

  1.   

    存储过程和函数都是通过CallableStatement来操作处理。CallableStatement cstmt = null; //调用存储过程
    cstmt = connect.prepareCall("{?=call f_test(?)}");
    cstmt.registerOutParameter(1, 12); //注册输出参数1:直接返回值
    cstmt.execute();
    String strPzXh = cstmt.getString(1); //取返回值数据
      

  2.   

    这么费劲干吗? 你直接用语句不就得了
    String sql="select f_test('1') from dual";
    Statement stmt = conn.createStatement();
    ResultSet rs = stmt.executeQuery(sql);rs.getString(1)就是你要的 
      

  3.   

    java中有字符转义一说!改代码试试:PreparedStatement pstmt = conn.prepareStatement("select f_test(\'1\') from dual");
    ResultSet rs = pstmt.executeQuery(); 
      

  4.   

    不管你的java程序算法对不对,你这样写String就是错的!