Java 异常结果集正在一次又一次发生

Java 异常结果集正在一次又一次发生,java,sql,resultset,Java,Sql,Resultset,结果集合耗尽异常一次又一次地发生,我已经检查了所有的可能性。我的表格包含类似的数据,但它正在发生。。我正在这里粘贴我的代码。。请引导我 ArrayList<Duty> myList = new ArrayList<Duty>(); try { String query = "select * from CBMS.DUTIES"; ResultSet r = con.statement.executeQuery(query);

结果集合耗尽异常一次又一次地发生,我已经检查了所有的可能性。我的表格包含类似的数据,但它正在发生。。我正在这里粘贴我的代码。。请引导我

  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;
ArrayList myList=new ArrayList();
试一试{
String query=“从CBMS.职责中选择*”;
ResultSet r=con.statement.executeQuery(查询);
while(r.next()){
中心c=零;
教师t=null;
query=“从CBMS.center中选择*”;
结果集r1=con.statement.executeQuery(查询);
while(r1.next()){
如果(r.getInt(2)=r1.getInt(1)){
c=新中心(r1.getString(3)、r1.getInt(1)、r1.getString(2));
打破
}
}
query=“从CBMS.teacher中选择*”;
ResultSet r7=con.statement.executeQuery(查询);
while(r7.next()){
System.out.println(r7.getString(1));
如果(r.getInt(3)=r7.getInt(2)){
t=新教师(r7.getString(1)、r7.getInt(2)、r7.getString(3)、r7.getString(4)、r7.getString(5));
打破
}
}
占空比d=新占空比(c,t,r.getString(4),r.getInt(1));
添加(d);
}
}捕获(例外e){
System.out.println(e.getMessage());
}
返回myList;

处理常规结果集时,不可能像在代码中那样来回切换。因此,当您运行
r.next()
时,您无法转到上一个值(并且多次这样做)。看见您应该重构代码并将值放入可重用的变量中。

在处理常规结果集时,不可能像在代码中那样来回切换。因此,当您运行
r.next()
时,您无法转到上一个值(并且多次这样做)。看见您应该重构代码,并将值放入可重用的变量中。

“我已检查了所有可能性”一种可能性有效,因此显然您没有。顺便说一句,请在句子开头加一个大写字母。也可以用大写字母表示I,缩写和首字母缩略词如JEE或WAR。这使得人们更容易理解和帮助。所有的可能性都意味着我已经尽了最大的努力,但没有任何收获。德鲁·汤普森请回答“我已经检查了所有的可能性”,一种可能性有效,所以很明显你没有。顺便说一句,请在句子开头加一个大写字母。也可以用大写字母表示I,缩写和首字母缩略词如JEE或WAR。这使得人们更容易理解和帮助。所有的可能性都意味着我已经尽了最大的努力,但没有任何收获。德鲁·汤普森请回答