我有一个应用程序需要两个发送到变量到客户端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();