0
我在MySql中有一個存儲過程的例子,我想用JDBC調用它。問題是,我得到以下錯誤:CallableStatement無法識別OUT參數
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是打開的連接。我究竟做錯了什麼?
你嘗試'cstmt.registerOutParameter(1,java.sql.Types.DECIMAL);'了嗎? – emboss
是的,我試過了。錯誤仍然發生。 –
任何人?其他想法? ... –