Lorsque j'exécute ma requête dans cette méthode, j'obtiens l'erreur suivante:
J'ai une exception! Syntaxe incorrecte près de ';'.
Notez que mon coursNr est un VARCHAR dans la database.
J'ai essayé d'exécuter la requête dans MSSQL et cela fonctionne mais pas dans Java.
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 != NULL AND kursnr = '" + course.getCourseNr() + "';"); ArrayList<Student> studentList = new ArrayList<Student>(); while (rset.next()) { Ssortingng pnr = rset.getSsortingng("pnr"); Ssortingng name = rset.getSsortingng("namn"); Ssortingng grade = rset.getSsortingng("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; } }
Essayez de faire (betyg is not NULL)
au lieu de ce que vous faites.
Assurez-vous également que la valeur de course.getCourseNr()
ne contient pas d'apostrophe ( '
).
Il se peut que votre kursnr soit un champ INT dans votre DB. Si oui, vous devez supprimer les guillemets simples et 'et j'espère que vous serez prêt à partir