gpt4 book ai didi

java - 从java中的mysql存储过程中获取参数

转载 作者:行者123 更新时间:2023-11-29 02:29:30 25 4
gpt4 key购买 nike

我在从 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 连接器即可。

最佳答案

这一行有错误

 cstmt.registerOutParameter(2, java.sql.Types.INTEGER);

这样改

 String sql = "CALL proc_after_topic_add(?,?);";
cstmt.registerOutParameter(2, java.sql.Types.INTEGER);

关于java - 从java中的mysql存储过程中获取参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15336557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com