结果集耗尽异常一次又一次发生,我已经检查了所有可能性。我的表包含类似的数据,但它正在发生..我将我的代码粘贴在这里..请指导我
ArrayList<Duty> myList = new ArrayList<Duty>();
try {
String query = "select * from CBMS.DUTIES";
ResultSet r = con.statement.executeQuery(query);
while (r.next()) {
Centre c = null;
Teacher t = null;
query = "select * from CBMS.center";
ResultSet r1 = con.statement.executeQuery(query);
while (r1.next()) {
if (r.getInt(2) == r1.getInt(1)) {
c = new Centre(r1.getString(3), r1.getInt(1), r1.getString(2));
break;
}
}
query = "select * from CBMS.teacher";
ResultSet r7 = con.statement.executeQuery(query);
while (r7.next()) {
System.out.println(r7.getString(1));
if (r.getInt(3) == r7.getInt(2)) {
t = new Teacher(r7.getString(1), r7.getInt(2), r7.getString(3), r7.getString(4), r7.getString(5));
break;
}
}
Duty d = new Duty(c, t, r.getString(4), r.getInt(1));
myList.add(d);
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
return myList;
最佳答案
使用常规结果集时,不可能像在代码中那样来回操作。因此,当您运行 r.next() 时,您无法转到前一个值(并且您会执行多次)。请参阅this 。您应该重构代码并将值放入可以重用的变量中。
关于java - 结果集耗尽的异常一次又一次发生,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20296452/