0

I Have written the code below n mentioned the error too below.. please help me to sort out with this.. it says check your sql version and change the syntax accordingly but am not able to figure it out..

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)

1 Answer 1

2

This

rs=stmt1.executeQuery("query");

should be something like

rs=stmt1.executeQuery(query);

which is what the error message

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

is telling you. Also (and not to your question), you shouldn't be doing raw sql queries in JSP. Nor should you be using scriptlets.

Sign up to request clarification or add additional context in comments.

1 Comment

Thank u so much sir..actually am a college doing student ..doing it for my graduation level project ..js a learner for the time being n ty so much @Elliot Frisch

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.