简体   繁体   English

如何将两个一维数组值存储到 jdbc java bean 值中并将其存储到 mysql 中?

[英]how to store two single dimensional array values into jdbc java bean values and stored it into mysql?

here I get Student id get correct format but their status i got last value only my java bean code在这里我得到学生 id 得到正确的格式但他们的状态我得到了最后一个值只有我的 java bean 代码

String[] arr1=new String[1000]; //stuid
     if(aa!=null)
     {
         arr1=aa.split(",");
     }
      String[] arr = new String[1000]; //status
     if(ss!=null){
         arr = ss.split(",");
     }
             for(int j=0;j<arr1.length;j++)
             {
                    for(int i=0;i<arr.length;i++)
                     {
                        bb.setStuid(arr1[j]); 
                        bb.setStatus(arr[i]);
                        bb.setSid(sid);
                         bb.setCid(cid);
                         bb.setTtid(ttid);
                         bb.setDate(date);
                         bb.setDid(did);
                         bb.setHour(hour);
                     }
                    bb=ad.AddAttendance(bb);
         }


    return bb;

}

see my images看我的图片

and my mysql inserted value is result page in mysql database (wrong value)我的 mysql 插入值是mysql 数据库中的结果页(错误值)

But, what I want exactly correct data show in front end但是,我想要在前端显示完全正确的数据

Hi hope this will work.嗨,希望这会奏效。

You should only use single for loop .您应该只使用single for loop

String[] arr1=new String[1000]; //stuid
     if(aa!=null)
     {
         arr1=aa.split(",");
     }
      String[] arr = new String[1000]; //status
     if(ss!=null){
         arr = ss.split(",");
     }
             for(int j=0;j<arr1.length;j++)
             {

                        bb.setStuid(arr1[j]); 
                        bb.setStatus(arr[j]);
                        bb.setSid(sid);
                         bb.setCid(cid);
                         bb.setTtid(ttid);
                         bb.setDate(date);
                         bb.setDid(did);
                         bb.setHour(hour);

                    bb=ad.AddAttendance(bb);
         }


    return bb;

}

You are always looping the entire arr array for each of the arr1 element.您总是为每个arr1元素循环整个arr数组。 And that's why for each stuid, status is the last value (since the last value is stored inside bb.setStatus() when the inner loop completes for one studId).这就是为什么对于每个 stuid,status 是最后一个值(因为当内部循环完成一个studId 时,最后一个值存储在bb.setStatus() )。

You have to use single loop.你必须使用单循环。 And I think you will get your desired result.我认为你会得到你想要的结果。

String[] arr1=new String[1000]; //stuid
if(aa!=null)
     {
         arr1=aa.split(",");
 }
  String[] arr = new String[1000]; //status
 if(ss!=null){
     arr = ss.split(",");
 }
         for(int j=0;j<arr1.length;j++)
         {

                bb.setStuid(arr1[j]); 
                bb.setStatus(arr[j]);  // It will take status of j'th studId
                bb.setSid(sid);
                bb.setCid(cid);
                bb.setTtid(ttid);
                bb.setDate(date);
                bb.setDid(did);
                bb.setHour(hour);
           }
           bb=ad.AddAttendance(bb);
     }


    return bb;

}

Hope this will help.希望这会有所帮助。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM