2016-01-03 6 views
0

Я написал код ниже п упоминается об ошибке тоже ниже .. пожалуйста, помогите мне разобраться с этим .. это говорит проверить версию SQL и изменить синтаксис соответственно, но я не в состоянии понять это ..com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException в JSP и Mysql

Reg.jsp

<%@page import="java.sql.*" language="java"%> 
<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE html> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<title>JSP Page</title> 
</head> 
<body> 
<% 
Connection con1; 
Statement stmt1=null; 
ResultSet rs; 
String rec_no=request.getParameter("rec"); 
String comp_no=request.getParameter("comp"); 
String recDb=null,compDb=null; 
try 
{ 
out.println("Rec:"+rec_no); 
out.println("Comp:"+comp_no); 
out.println(" :) :) "); 
Class.forName("com.mysql.jdbc.Driver");  
String url="jdbc:mysql://localhost:3306/register"; 
String user="root"; 
String password="department"; 
con1=DriverManager.getConnection(url,user,password); 
stmt1=con1.createStatement(); 
String query="select receipt_no,comp_no from receipt where receipt_no = '"+rec_no+"' and comp_no = '"+comp_no+"'; "; 
rs=stmt1.executeQuery("query"); 
if(rs.next()) 
{ 
recDb=rs.getString(1); 
compDb=rs.getString(2); 
out.println("Rec:"+rec_no); 
out.println("RecD:"+recDb); 
out.println("Comp:"+comp_no); 
ut.println("CompD:"+compDb); 
if(rec_no.equalsIgnoreCase(recDb) && comp_no.equalsIgnoreCase(compDb)) 
{ 
out.println("already registered"); 
} 
else 
{ 
response.sendRedirect("www.google.com"); 
} 
} 
} 
catch(ClassNotFoundException ex) 
{ 
ex.printStackTrace(); 
} 
catch(Exception e) 
{ 
e.printStackTrace(); 
} 
%> 
</body> 
</html> 



ERROR 
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'query' at line 1 
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
at java.lang.reflect.Constructor.newInstance(Constructor.java:526) 
at com.mysql.jdbc.Util.handleNewInstance(Util.java:404) 
at com.mysql.jdbc.Util.getInstance(Util.java:387) 
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:941) 
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3870) 
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3806) 
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2470) 
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2617) 
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2546) 
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2504) 
at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1370) 
at org.apache.jsp.sel_jsp._jspService(sel_jsp.java:123) 
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) 
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439) 
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395) 
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423) 
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079) 
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625) 
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
at java.lang.Thread.run(Thread.java:724) 

ответ

2

Этот

rs=stmt1.executeQuery("query"); 

должно быть что-то вроде

rs=stmt1.executeQuery(query); 

, который является то, что сообщение об ошибке

У Вас есть ошибка в вашем SQL синтаксиса; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с «запросом» по строке 1

сообщает вам. Также (и не на ваш вопрос), вы не должны делать сырые SQL-запросы в JSP. Вы также не должны использовать скрипты.

+0

Спасибо, что так много сэр..активно я учился в колледже .. делаю это для моего проекта уровня окончания ..js ученик на данный момент n ty so much @Elliot Frisch –

Смежные вопросы