Reputation:
I can't figure this out and its due in 10 hours. If someone's got pity please help.
Basically I am trying to insert data in an access table called Appointments
. However I get an incorrect sql syntax error each time. I have gone over many examples of sql and this seems correct and I can't wrap my head around this. Code and Stack Trace below. Error line is stated as line 27 or the statement.executeupdate() line. I am trying to do this in a JSP.
<%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
java.sql.Connection connection = java.sql.DriverManager.getConnection("jdbc:odbc:Dentist", "", "");
String query = "INSERT INTO Appointments(First_Name, Last_Name, Address, Phone_Number, Procedure, Appointment_Date, Health_Insurance, Health_Concerns, Age, Emergency_Contact, Cost) VALUES(?,?,?,?,?,?,?,?,?,?,?)";
java.sql.PreparedStatement statement = connection.prepareStatement(query);
statement.setString(1, request.getParameter("First_name"));
statement.setString(2, request.getParameter("Last_Name"));
statement.setString(3, request.getParameter("Address"));
statement.setString(4, request.getParameter("PhoneNumber"));
statement.setString(5, request.getParameter("Procedure"));
statement.setString(6, request.getParameter("Appointment_Date"));
statement.setString(7, request.getParameter("Health_Insurance"));
statement.setString(8, request.getParameter("Health_Concerns"));
statement.setString(9, request.getParameter("Age"));
statement.setString(10, request.getParameter("Emergency_Contact"));
statement.setString(11, request.getParameter("Cost"));
statement.executeUpdate(query);
connection.close();
response.sendRedirect("ShowData.jsp");
%>
Stack trace:
Dec 16, 2015 7:38:24 PM org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet jsp threw exception java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement. at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6964) at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7121) at sun.jdbc.odbc.JdbcOdbc.SQLExecute(JdbcOdbc.java:3156) at sun.jdbc.odbc.JdbcOdbcPreparedStatement.execute(JdbcOdbcPreparedStatement.java:215) at sun.jdbc.odbc.JdbcOdbcPreparedStatement.executeUpdate(JdbcOdbcPreparedStatement.java:137) at org.apache.jsp.FinalProject.ProcessInsert_jsp._jspService(ProcessInsert_jsp.java:80) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:856) at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:565) at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1509) at java.lang.Thread.run(Thread.java:745)
Upvotes: 0
Views: 260
Reputation: 159774
The query is already defined for the PreparedStatement
. Replace
statement.executeUpdate(query);
with
statement.executeUpdate();
Upvotes: 3