首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

后台删除某一帖子指定回复 的时候出了点有关问题

2012-12-25 
后台删除某一帖子指定回复 的时候出了点问题,servlet关键代码 id 是回复的PK, content_id是帖子的PKif(DBS

后台删除某一帖子指定回复 的时候出了点问题,
servlet关键代码
 id 是回复的PK, content_id是帖子的PK

if(DBShowreview.deleteReview(Integer.parseInt(id),Integer.parseInt(content_id))){
resp.sendRedirect("reviewmanage.jsp?id="+content_id);
  }
else{
   resp.sendRedirect("review.jsp?id="+content_id);
    }


deleteReview的代码
public static boolean deleteReview(int review_id,int content_id){
    connect();
        // 删除指定回复。
    String sql = "delete from review where review_id=?";
    // 让 帖子的回复次数减1.
    String sql1 ="update content set count=count-1 where content_id=?";
    try {
psmt =conn.prepareStatement(sql);
psmt.setInt(1,review_id);
int i = psmt.executeUpdate();
psmt =conn.prepareStatement(sql1);
psmt.setInt(1,content_id);
int j = psmt.executeUpdate();
if(0!=i&&0!=j){
return true;
}
psmt.close();
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
    
    return false;
    }

按道理是 操作之后,回复的信息应该没了 然后帖子的回复数-1, 但是操作后 回复数倒是-1了, 但是 回复的信息没删掉 为什么呢。 
想要的结果是重定向到reviewmanage.jsp
但是结果是重定向到了review.jsp

[最优解释]
有可能你的帖子review_id没传递进来 、 方法才会return false的
仔细debug下
[其他解释]
你这个应该整个事物才行啊,要么全部成功要么全部失败。
[其他解释]
我初学 该怎么整

引用:
你这个应该整个事物才行啊,要么全部成功要么全部失败。

[其他解释]
确实是review_id  没有传进来。前台js代码,
 function show_delete()
    {   
      var review_id;
       var checkboxs = document.getElementsByName("delete");
   for(var i = 0 ; i<checkboxs.length;i++)
   {
     if(checkboxs[i].checked)
 {
   review_id =checkboxs[i].value;
 }
   }
       var r = confirm("确定要删除此回复么 ?");
      
 if(r==true){ 
       window.location.href="deletereview?id="+review_id+"&content_id="+<%=id%>;
      
       }
    }
 这样拼接应该没错吧。  delete是个单选框的name,它的value值就是review_id
[其他解释]
诶,粗心大意了~~ 数据库里面提取出来的review 忘记 加id  搞的id 全为0........

热点排行