CallableStatement 无法识别 OUT 参数
我有一个 MySql 中的存储过程示例,我想用 JDBC 调用它。问题是我收到以下错误:
java.sql.SQLException: Parameter number 1 is not an OUT parameter
存储过程的定义是:
delimiter \\
create procedure get_average (
out a decimal(8,2)
)
begin
select avg(grade) into a from students;
end \\
如您所见,我有一个学生表,我计算平均值。当我在 MySql 中测试时它工作正常。
java代码:
CallableStatement cstmt = con.prepareCall("call get_average(?)");
cstmt.registerOutParameter(1, java.sql.Types.DOUBLE);
rs = cstmt.executeQuery();
double average = cstmt.getDouble(1);
其中con是一个打开的连接。我做错了什么?
I have an example of a stored procedure in MySql and I want to call it with JDBC. The problem is that I get the following error:
java.sql.SQLException: Parameter number 1 is not an OUT parameter
The stored procedure's definition is :
delimiter \\
create procedure get_average (
out a decimal(8,2)
)
begin
select avg(grade) into a from students;
end \\
As you can see I have a students table and I calculate the average. It works fine when I test in in MySql.
The java code :
CallableStatement cstmt = con.prepareCall("call get_average(?)");
cstmt.registerOutParameter(1, java.sql.Types.DOUBLE);
rs = cstmt.executeQuery();
double average = cstmt.getDouble(1);
where con is an opened Connection. What am I doing wrong?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试:
Try: