[英]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.