我想通过JSP中的查询将数据插入数据库。这是我的代码
<%@ include file="connect.jsp" %>
<%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" + application.getRealPath("WEB-INF/travDB.accdb"));
Statement st = con.createStatement(1004,1008);
String user = request.getParameter("username");
String pass = request.getParameter("pass");
String konf = request.getParameter("konf");
String phone = request.getParameter("phone");
String tribe = request.getParameter("tribe");
String start = request.getParameter("start");
String agree = request.getParameter("agree");
String temp = "";
query = "insert into msuser (username, password, email, tribe, starting position, population) values ('"+user+"','"+pass+"','"+phone+"','"+tribe+"','"+temp+"',0)";
st.executeUpdate(query);
response.sendRedirect("Register.jsp?err=0");
}
%>
为什么说
org.apache.jasper.JasperException: An exception occurred processing JSP page /JSP_H2Soal2_T213/doRegis.jsp at line 82
82: st.executeUpdate(query);
有人可以帮助我吗?
答案 0 :(得分:0)
不要在JSP中执行数据库更新 - 在业务层(servlet)中执行此操作。
您应该只使用JSP进行演示。
但是,这不是异常的原因。您将需要检查异常中的完整堆栈跟踪(同样,如果您可以从servlet类中记录它,则更容易)。没有它,就不可能知道问题所在。
其他人遇到同样的问题,请参阅:
修改强>
Asif的评论可能会解决您的问题:在您的查询中,您有一个包含空格的列名。带空格的列名称存在问题。检查DBMS的转义语法 - 或者,如果可以,请将列名更改为不带空格的内容。
答案 1 :(得分:0)
答案 2 :(得分:0)
<sql:update>
UPDATE table_name
SET column_name = new_value, column_name1 = new_value1
WHERE column_name = some_value
</sql:update>
尝试并测试,100%工作