[英]Parameter number 2 is not an OUT parameter
String sqlString = "{CALL MyStoredProcedure(?,?)}";
CallableStatement sqlStm = connection.prepareCall(sqlString);
sqlStm.setString(1, username);
sqlStm.registerOutParameter(2, Types.DECIMAL, 0); // <---- ERROR
sqlStm.execute();
This is my error stacktrace: 这是我的错误堆栈跟踪:
java.sql.SQLException: Parameter number 2 is not an OUT parameter
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927)
at com.mysql.jdbc.CallableStatement.checkIsOutputParam(CallableStatement.java:690)
at com.mysql.jdbc.CallableStatement.registerOutParameter(CallableStatement.java:1881)
at com.mysql.jdbc.CallableStatement.registerOutParameter(CallableStatement.java:1890)
at com.isb.igt.database.StoredProcedures.preparationCalls(StoredProcedures.java:40)
at com.isb.igt.database.StoredProcedures.main(StoredProcedures.java:236)
The procedure first line: 程序第一行:
CREATE DEFINER=devel@11.22.33.44 PROCEDURE MyStoredProcedure(IN login VARCHAR(255), OUT variable DECIMAL(20,2)
CREATE DEFINER=devel@11.22.33.44程序MyStoredProcedure(IN登录VARCHAR(255),OUT变量DECIMAL(20,2)
I can't figure out how to get it to work. 我无法弄清楚如何让它发挥作用。
Thank you 谢谢
Function call should look like {? = call MyStoredProcedure(?)}
函数调用应该看起来像
{? = call MyStoredProcedure(?)}
{? = call MyStoredProcedure(?)}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.