2016-02-01 33 views
-2
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub //response.getWriter().append("Served at: ").append(request.getContextPath()); 

String[] id = request.getParameterValues("hiddenID"); 
//int id=Integer.parseInt(request.getParameter("hiddenID")); 

foodDB db = new foodDB(); 
Boolean success = db.deletefood(id); 

//Boolean success=(Boolean)db.deletefood("%" + id + "%"); 
//boolean success=(Boolean)db.deletefood(F); 

request.setAttribute("success", success); 

RequestDispatcher rd = request.getRequestDispatcher("delete.jsp"); 
rd.forward(request, response); 

} 

这是我的servlet部分。通过使用复选框选中数据库中的多个删除。但它不起作用。servlet中的多重删除

+2

什么不行?任何错误?也显示你的'deletefood'方法。 – Thilo

+0

@win不在这里。在你的问题中更新它。 – Satya

回答

0

这种说法是错误

pstmt.setString(1, "%" + id + "%"); 

这里id是一个字符串数组。所以你传递字符串数组对象到setString()。但不是数组值。

使用for-each循环来从数组id中获取每个id。

PreparedStatement pstmt=null; 

for(String i:id) 
{ 
    pstmt=conn.prepareStatement(sqlStr); 
    pstmt.setString(1, "%" + i + "%"); 
    //now execute it 

} 
+0

仍然没有数据被删除 – win

+0

有没有错误?如果数据库中存在'id',则应删除它。你执行查询吗?使用sysout来检查id。数据库ID中的@win – Satya

+0

为null ...它用于Hiddenid – win