<td width="13" ><a href='deleteuser.jsp?user_id="+<%= rs.getLong(1)%>+"'>×</a></td>
我用这种方式实现删除用户
可是有错误提示
org.apache.jasper.JasperException: Exception in JSP: /test/admin/Admin_Index.jsp:8481:                 <td width="46" class=listbg><%= rs.getLong("ID")%></td>
82:                 <td width="60" class=listbg><%= rs.getString("Username")%></td>
83:                 <td class=listbg align=right><%= rs.getString("Email")%></td>
84:                 <td width="13" ><a href='deleteuser.jsp?user_id="+<%= rs.getLong(1)%>+"'>×</a></td>
85:               </tr>
86:               <%
87:   }
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
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)我的该页面代码为
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" %>
<%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //载入驱动程序类别
Connection con = DriverManager.getConnection("jdbc:odbc:cstry"); //建立数据库链接,cstry为ODBC数据源名称
Statement sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);//建立Statement对象
ResultSet rs;
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head><body>
<TABLE cellSpacing=0 cellPadding=0 width=778 align=center bgColor=#ffffff 
border=0>
  <TBODY>
  <TR>
    <TD width=3 background="../image/bg_left.gif"></TD>
    <TD width=10></TD>
    <TD>
      <TABLE cellSpacing=0 cellPadding=0 width=600 align=center border=0>
        <TBODY>
        <TR>
          <TD vAlign=top height=300>
            <TABLE cellSpacing=0 cellPadding=0 width="100%" align=center 
            border=0>
              <TBODY>
              <TR>
                <TD width=4 height=4><IMG 
src="../image/lm06_l.gif"></TD>
                <TD background="../image/lm06_bg.gif"><IMG 
                  src="../image/mz_space.gif"></TD>
                <TD width=4><IMG 
              src="../image/lm06_r.gif"></TD></TR></TBODY></TABLE>
            <TABLE cellSpacing=0 cellPadding=0 width="100%" align=center 
            border=0>
              <TBODY>
              <TR>
                <TD width=1 background="../image/mz_line2.gif"></TD>
                <TD>
                  <TABLE cellSpacing=0 cellPadding=0 width="99%" align=center 
                  border=0>
                    <TBODY>
                    <TR>
                      <TD width=6 height=26><IMG 
                        src="../image/blm03_l.gif"></TD>
                      <TD align=middle width=20 bgColor=#ac2c2c><IMG 
                        src="../image/mz_icon03b.gif"></TD>
                      <TD 
                      style="BACKGROUND: url(/skin/mzstory/blm03_bg.gif) #ac2c2c fixed no-repeat right top; COLOR: #ffffff" 
                      width=250>
  <%
  String adminname=request.getParameter("adminname");
  out.println(session.getAttribute("adminname")+"欢迎回来!");%></TD>
                      <TD bgColor=#ac2c2c><IMG 
                        src="../image/mz_space.gif"></TD>
                      <TD width=6><IMG 
                    src="../image/blm03_r.gif"></TD></TR></TBODY></TABLE>
                  </TD>
                <TD width=1 
              background="../image/mz_line2.gif"></TD></TR></TABLE>
            <table width="232" border="1">
              <tr>
                <td colspan="4">用户管理</td>
                </tr>
              <tr>
                <td>用户ID</td>
                <td>用户名</td>
                <td width="54">Email</td>
<td>删除</td>
              </tr>
              <%
   rs=sql.executeQuery("SELECT * FROM User_data");
while(rs.next())
{
%>
              <tr>
                <td width="46" class=listbg><%= rs.getLong("ID")%></td>
                <td width="60" class=listbg><%= rs.getString("Username")%></td>
                <td class=listbg align=right><%= rs.getString("Email")%></td>
                <td width="13" ><a href='deleteuser.jsp?user_id="+<%= rs.getLong(1)%>+"'>×</a></td>
              </tr>
              <%
 }
  %>
            </table>
            <table width="200" border="1">
              <tr>
                <td>文件管理</td>
                <td>&nbsp;</td>
              </tr>
              <tr>
                <td>&nbsp;</td>
                <td>&nbsp;</td>
              </tr>
            </table></TD>
        </TR></TABLE></TD>
    <TD width=10></TD>
    <TD width=3 
background="../image/bg_right.gif"></TD></TR></TBODY></TABLE>
<% 
rs.close();
sql.close(); 
con.close(); 
%>
</body>
</html>

解决方案 »

  1.   

    你的deleteuser.jsp执行删除用户操作,那么数据库连接呢??
    从程序上来看你的数据库连接只在Admin_Index.jsp里有啊
      

  2.   

    <td width="13" ><a href='deleteuser.jsp?user_id="+<%= rs.getLong(1)%>+"'>×</a></td>  写错了 
    写成 <td width="13" ><a href='deleteuser.jsp?user_id=<%= rs.getLong(1)%>'>×</a></td>就行了
      

  3.   

    <td width="13" ><a href='deleteuser.jsp?user_id=<%= rs.getLong(1)%>'>×</a></td>
    我已经改成这样了 还是不行...description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Exception in JSP: /test/admin/Admin_Index.jsp:8582:                 <td width="46" class=listbg><%= rs.getLong("ID")%></td>
    83:                 <td width="60" class=listbg><%= rs.getString("Username")%></td>
    84:                 <td class=listbg align=right><%= rs.getString("Email")%></td>
    85:  <td width="13" ><a href='deleteuser.jsp?user_id=<%= rs.getLong(1)%>'>×</a></td>
    86:               </tr>
    87:               <%
    88:   }
    Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
    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)
    ID 是Long型
    我在deleteuser.jsp里 也建立了数据库连接 只是方法比较笨 和这个页面一样的方式
      

  4.   

    在while循环开始先把ID取出来, long id = rs.getLong("ID");
    因为你两次用到了id,而且先后取,对于每个rs,字段只能取一次改成
    <% long id = rs.getLong("ID");%>
    82: <td width="46" class=listbg><%=id%></td>
    83: <td width="60" class=listbg><%= rs.getString("Username")%></td>
    84: <td class=listbg align=right><%= rs.getString("Email")%></td>
    85: <td width="13" ><a href='deleteuser.jsp?user_id=<%=id%>'>×</a></td>
    86: </tr>
    87: <%
    88: }
      

  5.   

    这是我的'deleteuser.jsp  有问题我找不出来 快烦死拉...
    帮帮我...
    <%@ page contentType="text/html;charset=GB2312" %>
    <%@ page import="java.sql.*" %>
    <%//接收要删除的用户ID号
     long user_id;
     user_id=request.getParameter("user_id");
    %>
    <%
     if(user_id!=0)//接收到的参数正确
     {
       Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
       Connection con = DriverManager.getConnection("jdbc:odbc:cstry");
       Statement sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
       sql.executeUpdate("delete from User_data where ID='"+user_id+"' ");
       sql.close();
       con.close();
      }
    %>
    <head>
    <title>用户注册程序</title>
    </head>
    <body>
    <center>
    <table border="1" width="700">
      <tr>
        <td width="100%" colspan="2" align="center">删除用户程序</td>
      </tr>
      <tr>
        <td width="100%" colspan="2">删除用户成功!</td>
      </tr>
      </table>
    </center>
    </body>
    </html>
    错误提示
    exception org.apache.jasper.JasperException: Exception in JSP: /test/admin/deleteuser.jsp:1310:    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    11:    Connection con = DriverManager.getConnection("jdbc:odbc:cstry");
    12:    Statement sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
    13:    sql.executeUpdate("delete from User_data where ID='"+user_id+"' ");
    14:    sql.close();
    15:    con.close();
    16:   }
      

  6.   

    rs有取值的先后顺序,在后面取前面的列的数据的时候可能会导致错误。建议不要用rs。
      

  7.   

    long user_id;
    user_id=Long.parseLong(request.getParameter("user_id"));request.getParameter() 得到的是String,怎么能赋给一个long呢