本文介绍了参数号2不是OUT参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
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)程序第一行:
CREATE DEFINER=devel@11.22.33.44程序MyStoredProcedure(IN登录 VARCHAR(255),OUT变量DECIMAL(20,2)
CREATE DEFINER=devel@11.22.33.44 PROCEDURE MyStoredProcedure(IN login VARCHAR(255), OUT variable DECIMAL(20,2)
我无法弄清楚如何让它发挥作用。
I can't figure out how to get it to work.
谢谢
推荐答案函数调用应该看起来像 {? =调用MyStoredProcedure(?)}
Function call should look like {? = call MyStoredProcedure(?)}
更多推荐
参数号2不是OUT参数
发布评论