Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 准备的SQL语句无效_Java_Mysql_Sql Server_Jsp - Fatal编程技术网

Java 准备的SQL语句无效

Java 准备的SQL语句无效,java,mysql,sql-server,jsp,Java,Mysql,Sql Server,Jsp,我想不出这件事,10小时后到期。如果有人有同情心,请帮忙 基本上,我正在尝试将数据插入一个名为Appointments的访问表中。但是每次我都会得到一个不正确的sql语法错误。我已经看过很多sql的例子,这似乎是正确的,我无法理解这一点。下面是代码和堆栈跟踪。错误行表示为第27行或语句.executeupdate()行。我正试图在JSP中实现这一点 <% Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); java.sql.Connection c

我想不出这件事,10小时后到期。如果有人有同情心,请帮忙

基本上,我正在尝试将数据插入一个名为
Appointments
的访问表中。但是每次我都会得到一个不正确的sql语法错误。我已经看过很多sql的例子,这似乎是正确的,我无法理解这一点。下面是代码和堆栈跟踪。错误行表示为第27行或语句.executeupdate()行。我正试图在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");
%>

堆栈跟踪:

2015年12月16日晚上7:38:24 org.apache.catalina.core.StandardWrapperValve 为Servlet jsp调用SEVERE:Servlet.service()引发异常 java.sql.SQLException:[Microsoft][ODBC Microsoft Access驱动程序] INSERT INTO语句中出现语法错误。在 位于的sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6964) 位于的sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7121) 位于的sun.jdbc.odbc.JdbcOdbc.SQLExecute(JdbcOdbc.java:3156) execute(JdbcOdbcPreparedStatement.java:215) 在 executeUpdate(JdbcOdbcPreparedStatement.java:137) 在 org.apache.jsp.FinalProject.ProcessInsert\u jsp.\u jsp服务(ProcessInsert\u jsp.java:80) 位于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:374) 在 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337) 位于org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) 位于javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) 在 org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:856) 在 org.apache.coyote.http11.http11aprotocol$Http11ConnectionHandler.process(http11aprotocol.java:565) 在 org.apache.tomcat.util.net.aprenpoint$Worker.run(aprenpoint.java:1509) 运行(Thread.java:745)


已为
PreparedStatement
定义了查询。替换

statement.executeUpdate(query);


已为
PreparedStatement
定义了查询。替换

statement.executeUpdate(query);


@TyGuy2525,让我们知道这是否解决了问题,并尝试清理问题下列出的服务器标记(即:mysql和sql server)。我看过的几篇参考文献提到了“使用JDBC-ODBC桥访问数据库”@TyGuy2525,让我们知道这是否解决了问题,并尝试清理问题下面列出的服务器标记(即:mysql和sql server)。我看过的几篇参考文献提到“使用JDBC-ODBC桥访问数据库”,通常不建议将所有这些代码都放在脚本中。想想JSTL、EL、servlets……通常不建议将所有这些代码都放在scriptlet中。想想JSTL、EL、servlets。。。