我的ResultSet只会打印第一行

时间:2014-04-20 05:11:03

标签: java sql oracle

我知道一个ResultSet包含8行数据,因为我直接查询了数据库。我的代码只显示第一行。

如果有人能给我一些帮助,我会非常感激。第一行是我应该期待的,我只是不知道如何让它继续打印后续行。

term= Integer.parseInt(args[1]);        
// Select a list of the surveys that fall under the term    
query= "Select cid,subject,course_number,instructor_id from Courses where term=" + Integer.parseInt(args[1]);    
result = statement.executeQuery(query);
                String query2="";
                while(result.next())
                {
                    // Pull in the data
                    cid = result.getInt("cid");
                    subject = result.getString("subject");
                    courseNumber= result.getInt("course_number");
                    instructorId= result.getInt("instructor_id");enter code here

                    // Get the instructors last name
                    query2= "Select last_name from Instructors where fid=" + instructorId;

                    subResult= statement.executeQuery(query2);
                    while(subResult.next())
                    {
                        instructorLName= subResult.getString(1);
                    }

                    // Get the averages and num submitted
                    query2= "Select num_submitted, sum_q1, sum_q2, sum_q3, sum_q4, survey_id from surveys where cid=" + cid;
                    subResult= statement.executeQuery(query2);
                    while(subResult.next())
                    {
                        numSub= subResult.getInt(1);
                        sumQ1= subResult.getInt(2);
                        sumQ2= subResult.getInt(3);
                        sumQ3= subResult.getInt(4);
                        sumQ4= subResult.getInt(5);
                        surveyId= subResult.getInt(6);
                    }

                    // Print everything necessary
                    System.out.println( surveyId + " " + term + " " + subject + " " + courseNumber +
                    " " + instructorLName + " " + sumQ1/numSub + " " + sumQ2/numSub + " " + sumQ3/numSub
                    + " " + sumQ4/numSub);
                }
            } 

1 个答案:

答案 0 :(得分:1)

不确定,但问题可能是您使用相同的Statement对象来执行不同的查询。为query和query2创建单独的语句实例并尝试。