当我在此方法中运行查询时,出现以下错误:
有例外! &#39 ;;'附近的语法不正确。
请注意,我的courseNr是数据库中的VARCHAR。
我试图在MSSQL中运行查询,但它可以工作,但不能用于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()) {
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;
}
}
答案 0 :(得分:1)
尝试执行(betyg is not NULL)
而不是您正在做的事情
另外,请确保course.getCourseNr()
的值不包含撇号('
)。
答案 1 :(得分:0)
你的kursnr可能是你db中的INT字段。如果是这样,你应该删除单引号&#39;和&#39;希望你能够好好去