1
我試圖從MYSQL過程中獲取參數。 我PROC:JDBC異常獲取存儲過程的小數點輸出參數
CREATE PROCEDURE proc(someIn INT UNSIGNED,
anotherIn INT UNSIGNED,
OUT x DECIMAL(10,7),
OUT y DECIMAL(10,7))
我的Java代碼:
CallableStatement cs = conn.prepareCall("{call proc(?, ?,?,?)}");
cs.setLong(1, someLong);
cs.setLong(2, anotherLong);
cs.registerOutParameter(3,Types.DECIMAL,7);
cs.registerOutParameter(4,Types.DECIMAL,7);
rs = cs.executeQuery();
if (rs.next()) {
double x = rs.getBigDecimal(3).doubleValue();
double y = rs.getBigDecimal(4).doubleValue();
}
我在遇到錯誤時調用rs.next():
值java.sql.SQLException:ResultSet是從UPDATE。沒有數據。
如果我手動調用具有相同參數的過程,我會得到結果數據。 我試圖將小數更改爲雙精度,但這沒有效果。
盧卡斯是正確的。謝謝你,盧卡斯! –