【发布时间】:2015-09-29 11:43:07
【问题描述】:
当我以这种方法运行查询时,我收到以下错误:
有异常! ';' 附近的语法不正确。
请注意,我的 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;
}
}
【问题讨论】:
-
我认为你最后不需要
;。另外,course.getCourseNr()生产的是什么? -
;不可能是这里的问题。 -
正好
;没问题查询会变成SELECT Student.pnr, Student.namn, Registrering.betyg FROM Registrering INNER JOIN Student ON Registrering.pnr = Student.pnr WHERE betyg != NULL AND kursnr = 'values'; -
使用 IS NOT NULL 代替 != NULL
-
我什至尝试输入手动 CourseNr 但我得到了同样的错误,我也尝试了 IS NOT NULL 但仍然得到同样的错误:';' 附近的语法不正确。
标签: java sql sql-server