源代码截图如下:
运行后的错误信息如下:
javax.servlet.ServletException: com.microsoft.sqlserver.jdbc.SQLServerException: '.' 附近有语法错误。
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:850)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
org.apache.jsp.eerecommendation_jsp._jspService(eerecommendation_jsp.java:196)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause
com.microsoft.sqlserver.jdbc.SQLServerException: '.' 附近有语法错误。
com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(Unknown Source)
com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(Unknown Source)
com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement(Unknown Source)
com.microsoft.sqlserver.jdbc.SQLServerStatement$StmtExecCmd.doExecute(Unknown Source)
com.microsoft.sqlserver.jdbc.TDSCommand.execute(Unknown Source)
com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(Unknown Source)
com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(Unknown Source)
com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(Unknown Source)
com.microsoft.sqlserver.jdbc.SQLServerStatement.executeQuery(Unknown Source)
org.apache.jsp.eerecommendation_jsp._jspService(eerecommendation_jsp.java:107)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
sql字符串每一行的引号中的最后都要加一个空格,这样拼出来的才是一条正确的sql查询语句。现在你的前一行最后一个单词与下一行的第一个单词是连在一起的,所以报错。
45行最后一个单词和46行第一个单词连成一个了,后面的每一行加都是一样,上一行的跟最后一行连成一个单词了。
你在SQL的+号的前一句的末尾多加一个空格试试。 比如“where school.schoolname = ”+schoolName+ "xxxxxxxx................ "
问题就是你用+分段之后引号内的内容开头没有空格,导致整个sql后面的语句连成了一片,虚拟机搞不清你在说什么,已经晕了,它晕了就给你抛异常