A.jsp页面有复选框,把选中的值作为ID传给B.jsp,比如B中获取所选中的复选框值 String[] str = request.getParameterValues("复选框的name"); 这个数组里面的值都是数据库表中的ID字段。
for(int i=0;i<str.length;i++){
sql = "select count(*) from 表名 where ID = "+str[i];
}执行发现 这条语句只会取到str[]数组第一个值。现在请教各位下,我想要把数组中所有值都取到 ,SQL语句应该怎么写?
for(int i=0;i<str.length;i++){
sql = "select count(*) from 表名 where ID = "+str[i];
}执行发现 这条语句只会取到str[]数组第一个值。现在请教各位下,我想要把数组中所有值都取到 ,SQL语句应该怎么写?
for(int i=0;i<str.length;i++){
sql += " or ID = "+str[i];
}
System.out.println(str[i]);//这里你打印出来看看
sql = "select count(*) from 表名 where ID = "+str[i];
}
这样写是可以的哈;如果你打印出来也是只取的数组的第一个值的话,表示你传值除了问题。
for(int i=0;i<str.length;i++)
{
if(i==str.length-1)
{
temp=temp+str[i];
}
else
{
temp=temp+str[i]+","
}
}
sql="select count(*) from 表名 where ID in"+temp;
上述代码就是说先把条件拼成一个字符串,然后连到sql上
楼主试试,应该没问题的。
这样写怎么可以呢!如果数组有多个值,循环多次不断的会覆盖sql语句,最后只会得到最后一条语句。
sql = "select count(*) from 表名 where ID in "+str[i];
}
我在SQL查询分析器里面执行是可以的。。比如我在查询分析器里面执行select count(*) from 表名 where ID in (1,2,5);我之所以要取数组里面的值,是因为数组中的值排列是无序的。望大家帮我也想想这个问题怎么解决哈。。
我也试过这样方法,但是结果集之前会有个Null..