我正在尝试从 MYSQL 过程中获取参数。我的过程:
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。没有数据。
如果我手动调用具有相同参数的过程,我会得到结果数据。我试图将十进制更改为双精度,但这没有效果。