小菜泣血跪求复选框问题
比如说写这样的一个程序 
 交办人: 
       口张XX      口李XX   口王XX      口赵XX 
 交办事件: 
       买东西!(这是不变的,只是选择张李王赵谁做的问题(有可能是一人做或几人做.)) 
    我要把复选的内容和交办的事件写入SJ表的   JBR   和JBSJ字段 
 我在a.jsp中写 
  <INPUT   type= "checkbox "   name=box   value= "张XX "> 张XX 
  <INPUT   type= "checkbox "   name=box   value= "李XX "> 李XX 
  <INPUT   type= "checkbox "   name=box   value= "王XX "> 王XX 
  <INPUT   type= "checkbox "   name=box   value= "赵XX "> 赵XX 
 在b.jsp中写 
    String[]   box=request.getParameterValues( "box ");    
 然后写: 
 st.executeUpdate( "insert   into   sj(jbr,jbsj)   values   ( ' "+box+ " ', "+sj+ " ') "); 
  "+sj+ "就是刚才得到的买东西! 
 但是当我复选张XX,王XX   ,赵XX的时候,表中只有一行数据,并且jbr的值为[Ljava.lang.String;@1f195fc   ,请问是怎么回事情? 
 正确的应该得到   jbr               jbsj 
                                           张XX               买东西 
                                           王XX               买东西 
                                           赵XX               买东西 
 请各位大虾看看
------解决方案--------------------box是数组名,你要引用数组中的元素,应该是box[..]的形式 
 如st.executeUpdate( "insert into sj(jbr,jbsj) values ( ' "+box[1]+ " ', "+sj+ " ') ");的形式
------解决方案--------------------(1)st.executeUpdate( "insert into sj(jbr,jbsj) values ( ' "+box+ " ', "+sj+ " ') "); 
 这本来就是执行一次SQL的insert,所以即使你得box数组里有3个值你也不可能有 
               jbr     jbsj 
               张XX     买东西 
               王XX     买东西 
               赵XX     买东西 
 的情况。 
 (2)不知道 String[] box=request.getParameterValues( "box ");能不能取道你说期望的值, 
 你可以把box的值先打印出来看看结果对不; 
  <%for(int i=0;i <box.length();i++){ 
    System.out.println( "box[ "+i+ "] =  "+box[i]); 
 } 
 %>  
 即使box的值对那你得执行语句也应该是 
 for(ing i=0;i <box.length();i++){ 
   st.executeUpdate( "insert into sj(jbr,jbsj) values ( ' "+box[i]+ " ', "+sj+ " ') "); 
 } 
------解决方案--------------------楼上说的没错,box是一个数组对象,不能直接显示的。
------解决方案--------------------for(ing i=0;i <box.length();i++) 
 { 
   st.executeUpdate( "insert into sj(jbr,jbsj) values ( ' "+box[i]+ " ', "+sj+ " ') "); 
 } 
 这样就可以了 
------解决方案--------------------楼上正解
------解决方案--------------------数组中的长度应该是一个属性,不是方法的去掉括号。
------解决方案--------------------晕,数组你那样取数据当然错了,要用for循环,box.length()取得数组长度,然后一个一个insert。 
 for(ing i=0;i <box.length();i++){ 
   st.executeUpdate( "insert into sj(jbr,jbsj) values ( ' "+box[i]+ " ', "+sj+ " ') "); 
 }
------解决方案--------------------得长度不是方法,去掉括号。 
 for(ing i=0;i <box.length;i++){