所有,我在jsp中写了一个更新查询,但是我遇到了语法错误,请有人帮忙。这是查询
<%
HttpSession ss=request.getSession();
String get_name=ss.getAttribute("key").toString().toUpperCase();
if(get_name == null)
{
response.sendRedirect("index.jsp");
}
else{
%>
<h2 align="left" style="color: white"><span style="background-color: blue">Welcome <%=get_name%></span></h2>
<%
}
int i=0;
String id=ss.getAttribute("id").toString();
int id_num=Integer.parseInt(id);
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection c=DriverManager.getConnection("jdbc:odbc:database");
Statement s=c.createStatement();
String name_server=request.getParameter("name_ser");
String details_ser=request.getParameter("details_ser");
String date_ser=request.getParameter("date_ser");
String status_ser=request.getParameter("status_ser");
String subject_ser=request.getParameter("subject_ser");
String cost_ser=request.getParameter("cost_ser");
JOptionPane.showMessageDialog(null, name_server+","+details_ser+","+date_ser+","+status_ser+","+subject_ser+","+cost_ser+","+id_num+","+i);
i=s.executeUpdate("update RECORD set NAME='"+name_server+"' ,DETAILS='"+details_ser+"' ,DATEE='"+date_ser+"' ,Status='"+status_ser+"' ,Subject='"+subject_ser+"' ,COST='"+cost_ser+"' where ID="+id_num+"");
c.close();
s.close();
if(i>0)
{
response.sendRedirect("welcome.jsp");
}
%>
答案 0 :(得分:1)
你没有问,但你应该知道这段代码是个坏主意。 JSP中的Scriptlet代码是错误的方法。
我建议您学习JSTL和Model-2 MVC。你应该有servlet来完成与JSP协作的所有实际工作。该页面应该只是显示控制器/ servlet告诉它的内容。
答案 1 :(得分:1)
日期可能是数据库中的保留字。
顺便说一下,您应该注意SQL注入安全问题,避免混合表示和业务逻辑。
答案 2 :(得分:0)
由于没有例外,所以我可以说以下可能是原因。
还有其他原因,但首先考虑一下。
答案 3 :(得分:-1)
这句话
其中ID =“+ id_num +”“);
需要结束单引号,如:
其中ID =“+ id_num +”'“);