Syntaxe incorrecte près d'un mot key dans ma requête

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