如何修正这个错误.菜鸟求教

Aosoth 2007-10-28 12:54:02
用户列表 id 用户名 年龄 操作 操作
c c 3 删除 修改
b b 2 删除 修改
a a 1 删除 修改

----------------------------------------------------------------------------
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@include file="DBconn.jsp" %>
<%
int id = Integer.parseInt(request.getParameter("id"));



//取得连接状态对象
Statement stmt = conn.createStatement();
String sql = "delete from userinfo where id="+id;
int n = stmt.executeUpdate(sql);
out.println(n);
conn.close();
%>
-------------------------------------------------------------------------
org.apache.jasper.JasperException: Exception in JSP: /doDelete.jsp:6

3: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
4: <%@include file="DBconn.jsp" %>
5: <%
6: int id = Integer.parseInt(request.getParameter("id"));
7:
8:
9:


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:506)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:395)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause

java.lang.NumberFormatException: For input string: "c"
java.lang.NumberFormatException.forInputString(Unknown Source)
java.lang.Integer.parseInt(Unknown Source)
java.lang.Integer.parseInt(Unknown Source)
org.apache.jsp.doDelete_jsp._jspService(doDelete_jsp.java:63)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note The full stack trace of the root cause is available in the Apache Tomcat/5.5.20 logs.


请问各位大哥line6这句语句要怎么改才能让程序顺利运行啊...
...全文
68 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
shilixiu 2007-10-29
  • 打赏
  • 举报
回复
你的id值c是不是int型,执行Integer.parseInt(request.getParameter("id")); 当然会出错了

String id = request.getParameter("id");

Statement stmt = conn.createStatement();
String sql = "delete from userinfo where id='"+id+"'";
int n = stmt.executeUpdate(sql);
out.println(n);
conn.close();
llj0004 2007-10-29
  • 打赏
  • 举报
回复
那个"删除"链接, 有个参数是"id"

它应该是数字
Aosoth 2007-10-28
  • 打赏
  • 举报
回复
为什么会取不到值啊。各位大哥拉小弟一把吧
Aosoth 2007-10-28
  • 打赏
  • 举报
回复
老大们可以给点代码吗.谢谢了.
Aosoth 2007-10-28
  • 打赏
  • 举报
回复
老大们可以给点代码吗.急啊...
Aosoth 2007-10-28
  • 打赏
  • 举报
回复
如果直接用
String id = request.getParameter("id");
是可以取到值但到后面
int n = stmt.executeUpdate(sql);
这里又出错了.
后来我用
try{
id=Integer.parseInt(request.getParameter("id"));
}catch(Exception e){
id=0;}
倒是可以运行了.不过点一个删除.却把表里所有的东西都给删了.太郁闷了...

yztommyhc 2007-10-28
  • 打赏
  • 举报
回复
int id = Integer.parseInt(request.getParameter("id")); //这边有问题.

你先打印以下request.getParameter("id")这个值,会发现是"c" ,注意是字符串,不是单个的字符.
请问对它怎么进行parseInt操作?结果又是什么?

67,538

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧