как сохранить два одномерных значения массива в значениях bean-компонента jdb c java и сохранить их в mysql? - PullRequest
1 голос
/ 28 марта 2020

здесь я получаю идентификатор студента, получаю правильный формат, но их статус я получил последнее значение только мой java код боба

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;

}

см. Мои изображения

и мое mysql вставленное значение - страница результатов в mysql базе данных (неправильное значение)

Но, что я хочу, точно правильные данные отображаются в начале

Ответы [ 2 ]

0 голосов
/ 28 марта 2020

Вы всегда зацикливаете весь массив arr для каждого элемента arr1. И именно поэтому для каждого студента status является последним значением (поскольку последнее значение сохраняется внутри bb.setStatus(), когда внутренний l oop завершается для одного стержня).

Вы должны использовать один l oop. И я думаю, вы получите желаемый результат.

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;

}

Надеюсь, это поможет.

0 голосов
/ 28 марта 2020

Привет, надеюсь, это сработает.

Вы должны использовать только 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;

}
...