これらのメソッドを実行しようとすると、nullpointexception に関するエラーのみが表示されますが、コードをチェックして同様のアプリケーションと比較しても、まだ理解できません。
編集: GUI コードの for ループ行で例外が発生します。
MVC でアプリケーションをビルドしました
GUI コード:
public void actionPerformed(ActionEvent e) {
String pnr = textResPnr.getText();
String courseNr = textResCourseNr.getText();
ArrayList<Student> studentList = controller.results(pnr, courseNr);
String resultString = "";
for (Student student : studentList) {
resultString = student.getPnr() + " " + student.getName() + " " + student.getGrade() + "\n";
}
textAreaResultat.setText(resultString);
}
私のコントローラー:
public ArrayList<Student> results(String pnr, String courseNr){
try {
student.setPnr(pnr);
course.setCourseNr(courseNr);
ArrayList<Student> studentList = null;
if(student.getPnr() != null){
dal.getResults(course, student);
}else{
studentList = dal.getAssignedStudents(course);
/*for (Student student : studentList) {
}*/
}
return studentList;
} catch (Exception e) {
return null;
}
}
私のデータベース アクセス層:
public ArrayList<Student> getAssignedStudents(Course course){
try {
Statement stmt = connection.createStatement();
ResultSet rset = stmt.executeQuery("SELECT Student.pnr, Student.namn, Registrering.betyg FROM Registrering INNER JOIN Student ON Registrering.pnr = Student.pnr WHERE betyg IS NOT NULL AND kursnr = '" + course.getCourseNr() + "';");
ArrayList<Student> studentList = new ArrayList<Student>();
while (rset.next()) {
String pnr = rset.getString("pnr");
String name = rset.getString("namn");
String grade = rset.getString("betyg");
Student student = new Student();
student.setName(name);
student.setPnr(pnr);
student.setGrade(grade);
studentList.add(student);
}
return studentList;
} catch (Exception e) {
System.err.println("Got an exception! ");
System.err.println(e.getMessage());
return null;
}
}