当前页面: 开发资料首页 → JSP 专题 → Struts复选框的批量删除问题
Struts复选框的批量删除问题
摘要: Struts复选框的批量删除问题
//execute方法
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm,
HttpServletRequest servletRequest,
HttpServletResponse servletResponse){
NewsActionForm newsActionForm =null;
String[] news = servletRequest.getParameterValues("newsID");
if(news !=null){
for(int i=o;i
newsActionForm = new NewsActionForm();
newsActionForm.setNewsID(Integer.valueOf(news[i]));
this.newsFacade.newsDelete(newsActionForm);
}
return actionMapping.findForward("newsDeleteAction");
}
}
//删除数据方法
public void newsDelete(NewsActionForm newsActionForm) {
ConnDB conn = new ConnDB();
String sql = "delete form tb_news where id="
+ newsActionForm.getNewsID();
conn.executeUpdate(sql);
conn.close();
}
点击删除时页面提示删除成功,但是数据还没被删除,头疼了几天了...
有谁指点下我这菜鸟,555...
//execute方法
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm,
HttpServletRequest servletRequest,
HttpServletResponse servletResponse){
NewsActionForm newsActionForm =null;
String[] news = servletRequest.getParameterValues("newsID");
if(news !=null){
this.newsFacade.newsDelete(news);
}
return actionMapping.findForward("newsDeleteAction");
}
}
//删除数据方法
public int[] newsDelete(String[] news) {
ConnDB conn = new ConnDB();
Statement st = null;
try{
st = conn.createStatement();
for(int i=o;i
st.addBatch("delete form tb_news where id=" + news[i]);
conn.executeBatch();
}catch(Exception ex){
}finally{
if (conn != null){
conn.close();
}
conn.close();
}
}
应该用以上的方法,如果在循环中访问数据库会很消耗性能
修改上面的方法
public int[] newsDelete(String[] news) {
ConnDB conn = new ConnDB();
Statement st = null;
int[] delRowNum = null;
try{
st = conn.createStatement();
for(int i=o;i
st.addBatch("delete form tb_news where id=" + news[i]);
delRowNum = conn.executeBatch();
}catch(Exception ex){
}finally{
if (conn != null){
conn.close();
}
conn.close();
}
return delRowNum;
}
呵呵,谢谢了,原来是我的sql语句错了,上面的"delete form tb_news"这里,呵呵,没办法,form表单这个词写得多了,谢谢大哥帮我解答,这个方法小弟就用了啊,呵呵,下面是经过测试后的代码:
//execute方法
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest servletRequest,
HttpServletResponse servletResponse) {
String[] news = servletRequest.getParameterValues("newsID");
if (news != null) {
this.newsFacade.newsDelete(news);
}
return actionMapping.findForward("newsDeleteAction");
}
// 批量删除方法
public int[] newsDelete(String[] news) {
Connection conn = ConnDB.getConnection();
Statement st = null;
int[] delRowNum = null;
try {
st = conn.createStatement();
for (int i = 0; i < news.length; i++) {
st.addBatch("delete from tb_news where id=" + news[i]);
delRowNum = st.executeBatch();
}
st.close();
conn.close();
} catch (Exception ex) {
}
return delRowNum;
}
还有就是要在catch里打印输出出错信息,要不出错也不知道