我写了一个jsp页面 是通过复选框来删除 可以选择多个一起删除,但是我是可以删除 但是代码的第8行总是报错 不知道怎么回事啊! 数据库里面又删除了信息
代码如下
<%@ page language="java" import="java.util.*,dao.*" pageEncoding="GBK"%> 1
<% 2
request.setCharacterEncoding("GBK"); 3
String[] name=request.getParameterValues("check"); 4
for(int i=0;i<=name.length;i++){ 5
//out.println(name[i]); 6
PollDao pollDao=new PollDao(); 7
int num= pollDao.detaleById(Integer.parseInt(name[i])); 8
if(num==1){
out.println("<script>location='index.jsp'</script>");
}
}
%>
请高手解答我一下 谢谢
代码如下
<%@ page language="java" import="java.util.*,dao.*" pageEncoding="GBK"%> 1
<% 2
request.setCharacterEncoding("GBK"); 3
String[] name=request.getParameterValues("check"); 4
for(int i=0;i<=name.length;i++){ 5
//out.println(name[i]); 6
PollDao pollDao=new PollDao(); 7
int num= pollDao.detaleById(Integer.parseInt(name[i])); 8
if(num==1){
out.println("<script>location='index.jsp'</script>");
}
}
%>
请高手解答我一下 谢谢
6: //out.println(name[i]);
7: PollDao pollDao=new PollDao();
8: int num= pollDao.detaleById(Integer.parseInt(name[i]));
9: if(num==1){
10: out.println("<script>location='index.jsp'</script>");
11: }就是上面这些错啊 说是第八行 但是数据库里面已经删除了啊!
java.lang.ArrayIndexOutOfBoundsException: 1
有个这个!
还有,你可以将这些选中的ID一起传给后台啊,然后通过组织字符串的形式,将所有选中的ID都组织到sql语句中,比如说,delete from tableName where id in (XX,XX,XX,XX,…,XX),这些XX就是你选中的ID值,根据的键名你也可以换的。这样就可以一次性全部删掉了。而且跟数据库交互次数是一次,你所写的这个,是选中一个交互一次,选中多个就是交互多次。
for(int i=0;i<name.length;i++){这个等于不要,,应该是执行到最后一个删除的时候出的问题,越界了
你表单提交是String型没关系啊,只是在你的后台处理代码,比如说servlet中组织成一句SQL,然后再交给DAO处理就行了啊,DAO里面只是去执行下这句sql,这句sql语句传过去本来就是String型的。