[英]MySQL workbench returns stored procedure with multiple rows, but from Java code, only one row is returned
它是 MYSQL,在 Workbench 中同样的存储过程调用工作正常,但是从 Java 代码来看,它总是只返回一行。
String sql = "{ CALL getList(?, ?, ?) }";
CallableStatement cs = conn.prepareCall(sql);
cs.setLong(1, key);
cs.setString(2, id);
cs.setInt(3, java.sql.Types.INTEGER);
ResultSet rs = cs.executeQuery();
rtn = cs.getInt(3); // this return as 1
while (rs.next()) {
String name = rs.getString("name");
String age= rs.getString("age");
//.....
}
从这个while循环中,总是只返回一行,很奇怪,花了几个小时,还没有线索,请指教可能出了什么问题,提示MYSQL是旧版本5.3,Java是旧版本JDK 1.6。
哪位有经验的,请指教,谢谢。
除了你所拥有的,你还需要实现 add() 方法。 尝试这个:
String sql = "{ CALL getList(?, ?, ?) }";
CallableStatement cs = conn.prepareCall(sql);
cs.setLong(1, key);
cs.setString(2, id);
cs.setInt(3, java.sql.Types.INTEGER);
ResultSet rs = cs.executeQuery();
rtn = cs.getInt(3);
while(rs.next()) {
String name = add(rs.getString("name"));
String age= add(rs.getString("age"));
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.