简体   繁体   English

无法删除记录

[英]cannot delete a record

<%@page import="java.util.logging.Logger"%>
<%@page import="java.util.logging.Level"%>
<%@page language="java" import="java.util.*"%>
<%@page language="java" import="java.sql.*"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%
     //String id4 = request.getParameter("id3");
     //int id5=Integer.ParseInt("id4");
    String id4 = request.getParameter("id3");

    if (id4 != null) {
        // int  id4 = Integer.parseInt(request.getParameter("id3.trim()"));
        Connection con = null;
        int id5 = Integer.parseInt("id4");

        try {
            Class.forName("com.mysql.jdbc.Driver");
            con = DriverManager.getConnection("jdbc:mysql://localhost/login?       user=root&password=root");
            Statement stmt = con.createStatement();
            String sql = "delete from login2 where id=" + id5;
            int i = stmt.executeUpdate(sql);
            if (i > 0) {
                response.sendRedirect("index.jsp");
            }
            out.println("failed");
            con.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
%>

I am not able to delete a record..the id4 is taking null value.how to fix it.. 我无法删除记录。.id4正在使用null值。如何解决此问题。

String id = request.getParameter("id");
int id1 = Integer.parseInt(id);
final String email = request.getParameter("email");
final String password = request.getParameter("pass");
Connection con = null;

try {
    Class.forName("com.mysql.jdbc.Driver");

    con = DriverManager.getConnection("jdbc:mysql://localhost/login? user=root&password=root");

    Statement stmt = con.createStatement();
    HttpSession session = request.getSession();
    String idd = (String) session.getAttribute("id1");
    String sql = "INSERT INTO login2(email,pass)" + " VALUES('" + email + "','" + password + "')";
    stmt.execute(sql);
    PrintWriter out = response.getWriter();

    out.println("successfully registered");
    ResultSet rs = stmt.executeQuery("select * from login2");
    response.setContentType("text/html");
    out.println("<html><body>");
    out.println("<table border=1 width=50% height=50%>");
    out.println("<tr><th>id</th><th>email</th><th>pasword</th>   <th>action</th><tr>");

    while (rs.next()) {
        int id2 = rs.getInt("id");
        String id9 = request.getParameter("id");
        int id0 = Integer.parseInt(id9);
        String email1 = rs.getString("email");
        String pass1 = rs.getString("pass");
        //int s = rs.getInt("sal"); 
        out.println("<tr>  <td>" + id2 + "</td> <td>" + email1 + "</td><td>" + pass1 + "</td>   </tr>");
        out.println("<tr><td><a href=  delete.jsp? id3=<%=rs.getInt(\"id\")%   >delete</a></td></tr>");
        //out.println("<tr><td><a HREF=\"delete.jsp\">link</a></td></tr>");
    }

    out.println("</table>");
    out.println("</html></body>");
}

this is my servlet page for displaying the records. 这是我的servlet页面,用于显示记录。

Your delete record jsp must be throwing NumberFormatException since your are trying to convert invalid string to number 您的删除记录jsp必须抛出NumberFormatException因为您正在尝试将无效的字符串转换为数字

int id5 = Integer.parseInt("id4"); remove " around id4 only then id4 string will be converted to int. 仅在id4周围删除" ,然后id4字符串将被转换为int。

if you are getting null value of id4 in expression String id4 = request.getParameter("id3"); 如果要在表达式String id4 = request.getParameter("id3");中获取id4 null值,则为String id4 = request.getParameter("id3");

Update: 更新:

Try this : out.println("<tr><td><a href= \\"delete.jsp?id3=\\""+ rs.getInt("id") +"\\">delete</a></td></tr>"); 试试这个: out.println("<tr><td><a href= \\"delete.jsp?id3=\\""+ rs.getInt("id") +"\\">delete</a></td></tr>");

in place of out.println("<tr><td><a href= delete.jsp? id3=<%=rs.getInt(\\"id\\")% >delete</a></td></tr>"); 代替out.println("<tr><td><a href= delete.jsp? id3=<%=rs.getInt(\\"id\\")% >delete</a></td></tr>");

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM