【问题标题】:Delete name from database从数据库中删除名称
【发布时间】:2013-01-15 06:37:40
【问题描述】:

我有一个 jsp 网页。当我按下网页上的删除按钮时,我需要从数据库中删除用户名。我尝试了下面的代码,但我无法删除名称,而是在用户名数据库中插入一个新行和一个空值。

这是我的代码

UnblockServlet.java:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO 自动生成的方法存根

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

System.out.println("username="+username);


CustomerInfor unblockUser = new CustomerInfor();


unblockUser.setUsername(username);




CustomerInforDBAO unblockuserdb = new CustomerInforDBAO();


String status = unblockuserdb.blockUser(unblockUser);
System.out.println("Deleted user from blocked:" + status);

if (status== "success"){
    dispatch(request,response,"/success.jsp");  

}

else{
    dispatch(request,response,"/error.jsp");    

}

}

CustomerInforDBAO.java:

public String unblockUser(CustomerInfor unblockUser){
    Connection con = getConnection(true);
    PreparedStatement stmt = null;
    int status=1;
    String select = "DELETE * FROM paybuddy.blocked where username=?";
    try{
        stmt = con.prepareStatement(select);
        stmt.setInt(1,unblockUser.getId());
        stmt.setString(2,unblockUser.getUsername());

        status = stmt.executeUpdate();
    } catch (Exception e){
        e.printStackTrace();
        unblockUser = null;
    } finally {
        try{
            if (stmt != null) stmt.close();
            if (con != null) con.close();
        }catch (SQLException e) {}
    }
    if(status!=1)
        return "error";
    else
        return "success";

        }

【问题讨论】:

    标签: jsp


    【解决方案1】:
    public String unblockUser(CustomerInfor unblockUser){
    Connection con = getConnection(true);
    PreparedStatement stmt = null;
    int status=1;
    String select = "DELETE  FROM paybuddy.blocked where username=?"; // no *
    try{
        stmt = con.prepareStatement(select);
        //stmt.setInt(1,unblockUser.getId()); is this needed?
        stmt.setString(1,unblockUser.getUsername());
    
        status = stmt.executeUpdate();
    } catch (Exception e){
        e.printStackTrace();
        unblockUser = null;
    } finally {
        try{
            if (stmt != null) stmt.close();
            if (con != null) con.close();
        }catch (SQLException e) {}
    }
    if(status!=1)
        return "error";
    else
        return "success";
    
        }
    

    并检查你是否调用了上面的正确函数。

    String status = unblockuserdb.blockUser(unblockUser);
    

    应该是

    String status = unblockuserdb.unblockUser(unblockUser);
    

    【讨论】:

    • 嘿!感谢您的帮助。我可以删除数据库中的名称。
    • 你有什么例外吗?函数是否返回成功?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多