JDBC PreparedStatment

EddieG

Erfahrenes Mitglied
Hi,
Ich habe gesehen, dass es in JAVA auch preparedStatments gibt, ich kannte die bisher nur in PHP.
Es kommt zu folgender Aktion.
Ich trage über eine Methode werte ein, diese leitet die ersten werte direkt an die Nächste etc.
Bei der letzten Methode, dann möchte ich auf die get Methode zugreifen, welche mir genau den Datensatz ausgeben soll, welchen ich eben eingetragen habe.


Java:
         void getStudent(int mat_nr,int semester_nr,int kurs_nr,double Zensur) throws Exception{
        ResultSet rs = null;
    
        System.out.println(mat_nr); // hier wird das richtige ausgegeben
        System.out.println(semester_nr); // hier wird das richtige ausgegeben
        System.out.println(kurs_nr); // hier wird das richtige ausgegeben
        System.out.println(Zensur); // hier wird das richtige ausgegeben
        
        String SQL = "SELECT CONCAT(student.MatNr,' ',student.Name) AS student,"+
        " semester.Semester,kurs.Bezeichnung AS Fach,note.note FROM  student"+ 
        " LEFT JOIN student_semester ON student.MatNr=student_semester.student_id"+
        " LEFT JOIN semester ON student_semester.semester_id = semester.semester_id"+
        " LEFT JOIN student_info ON student_semester.student_id = student_info.student_id"+
        " LEFT JOIN note ON student_info.student_id = note.student_id"+
        " LEFT JOIN kurs ON note.kurs_id = kurs.kurs_id"+
        " WHERE note.student_id=? AND note.kurs_id=?"+
        " AND note.semester_id =? AND note.note=?";
        pstmt = con.prepareStatement(SQL);
        pstmt.setInt(1, mat_nr);
        pstmt.setInt(2, kurs_nr);
        pstmt.setInt(3, semester_nr);
        pstmt.setDouble(4, Zensur);
        pstmt.execute();
        rs.next();
        System.out.println(rs.getInt(1)+" "+rs.getInt(2)+" "+rs.getInt(3)+" "+rs.getDouble(4));    
        
    }
Das Problem ist ich bekomme eine NULL Pointer Exception.
Ich verstehe nicht woran es liegt da die Werte angekommen sind.
 
Zuletzt bearbeitet:
Hi!
Sollen wir nun raten, oder wie stellst du dir nun vor, dass wir dir helfen, wenn du nicht mal verrätst, in welcher Zeile die Exception auftritt?


*grüssle*
 
Zwischen "ResultSet rs = null;" und "rs.next();" weist du nirgendwo rs etwas zu, also ist die Frage, wieso keine NullpointerException kommen sollte.

Edit:
Java:
pstmt.execute();
//ersetzen durch
rs = pstmt.executeQuery();
 
Zuletzt bearbeitet:
Zurück