我在从 java 中的 mysql 存储过程中检索 OUT 参数时遇到问题。
CALL proc_after_topic_add('newtest',@result);
SELECT @result;
这个查询给了我想要的输出参数,但我将如何在 java 中检索它。我尝试使用 CallableStatement 但我得到了
java.sql.SQLException: Callable statments not supported.
错误。请大家帮帮我。我试过以下
String sql = "CALL proc_after_topic_add(?,?);";
CallableStatement cstmt = conn.prepareCall(sql);
cstmt.setString(1, topicname);
cstmt.registerOutParameter(2, java.sql.Types.INTEGER);
ResultSet rs = cstmt.executeQuery();
if (rs.next()) {
if (rs.getInt(1) == 1) {
res = 0;
} else {
res = -1;
}
}
我没有发布存储过程代码,因为它没有任何问题。
PS:I a using mysql 5.5.21 and yes i should probably mention i am using mysql connector 3.0.15
好的,这就解决了。遇到同样问题的人,只需下载最新版本的mysql连接器。