0

在访问过程作为输出参数返回的游标时,我得到了 java.lang.NullPointerException。

以下是详细信息:

    CallableStatement pstmt = conn.prepareCall("{call PKP_UTIL.GET_VALUE(?,?,?)}");
    pstmt.setObject(1, parameter1);
    pstmt.setObject(2, parameter2);
    pstmt.registerOutParameter(3, OracleTypes.CURSOR);

    pstmt.executeUpdate(); //in this line all goes wrong

    ResultSet rs = (ResultSet)pstmt.getObject(3);

    while (rs.next()) {
         System.out.println(rs.getString(1) + "\t" + rs.getFloat(2) + "\t" + rs.getDate(3).toString());

    }

该应用程序的详细信息是: - Tomcat 6 上的 Restful WS - Oracle 11g ((11.2.0.2.0) - JDK 1.7 - JDBC Thin 驱动程序

如果我在桌面应用程序上尝试相同的代码,它就像一个魅力。

4

1 回答 1

0

pstmt.executeUpdate(); //在这一行中一切都出错了

不奇怪。应该是execute().JavadocexecuteUpdate()专门说语句必须是'SQL Data Manipulation Language (DML) 语句,例如INSERT、UPDATE 或DELETE;或不返回任何内容的 SQL 语句,例如 DDL 语句。

于 2013-10-22T00:11:20.953 回答