CallableStatement无法识别OUT参数

时间:2011-08-25 13:09:35

标签: java mysql callable-statement

我在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是打开的连接。我做错了什么?

1 个答案:

答案 0 :(得分:0)

尝试:

CallableStatement cstmt = con.prepareCall("{call get_average(?)}");