日期:2014-05-17  浏览次数:20822 次

JSP页面无法删除access数据库里的内容
这是删除页面的JSP代码:
<%

int d_id=Integer.parseInt(request.getParameter("id"));

String url="jdbc:odbc:user";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //加载驱动
Connection conn =DriverManager.getConnection(url); //创建连接
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);


String del="delete from register where id="+ d_id;
int set=stmt.executeUpdate(del);
stmt.close();
conn.close();

out.print("<script language='javascript'>alert('成功删除用户');window.location.href='showuser.jsp';</script>");
%>   

运行后就会有这样的提示:
org.apache.jasper.JasperException: An exception occurred processing JSP page /deluser.jsp at line 6

3: 
4: <%
5: 
6: int d_id=Integer.parseInt(request.getParameter("id"));

PS:id在数据库中是自动编号,属于长整形的,如果改成String d_id=request.getParameter("id") 的话,“删除成功”提示框就会出现,但是数据库中还是没删除。

页面显示没有任何问题,但是点“删除”选项就会出现这样的提示了,请各位帮忙看一下到底是哪儿出现的问题,会不会跟前面显示结果页面的代码有关系呢?

------解决方案--------------------
1)报错说明request.getParameter("id")可能为空。

2)Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
==>

Statement stmt=conn.createStatement();
------解决方案--------------------
1:既然数据库中的id是int类型的,把:<%String id=rs.getString("id"); %>换成
<%int id=rs.getInteger("id"); %>

2: 删除页面: 
   int id=Integer.parseInt(request.getParameter("id"));

stmt.executeUpdate("delete from register where id="+id);

------解决方案--------------------
你代码中的“?”后面的空格删了试试。
deluser.jsp? id=<%=id%>
==》
deluser.jsp?id=<%=id%>