Java存储过程CallableStatement设置和获取响应

时间:2014-10-07 17:22:36

标签: java stored-procedures

我有一个应用程序需要两个发送到变量到客户端MySql Server上的存储过程。我能够连接到服务器,我相信我能够传递我的变量,但我得到一个空指针异常我的结果。我从来没有搞过CallableStatements,我想我已经把它设置得正确但我似乎对获得结果感到困惑。从文档中,似乎我必须注册Out Parameters,但是当我这样做时,我得到一个Out Of Bounds Array Exception。再一次,我从来没有使用过可调用的语句,所以请原谅我,如果看起来奇怪的话。 :)

我要做的是传递一个项目的产品ID和位置,并返回状态。我想我很接近,但IN和OUT以及registerOutParameter让我很困惑。提前谢谢。

堆栈追踪:

Exception in thread "main" java.lang.NullPointerException
at cambiumstoredtest.CambiumStoredTest.callProceedure(CambiumStoredTest.java:79)
at cambiumstoredtest.CambiumStoredTest.main(CambiumStoredTest.java:102)

代码:

CallableStatement statement = conn.prepareCall("{CALL GetData(?, ?)}");

//Pass Item ID
statement.setString(1, "POISCNNR");
//Pass Item Bin
statement.setString(2, "R2S4");

statement.execute();

ResultSet rs = statement.getResultSet();

while (rs.next()) {

    //Get Status of Item
    System.out.println(rs.getString("Status"));
}

rs.close();

0 个答案:

没有答案