2015-01-17 2 views
1

반복 (for)을 사용하여 mysql 데이터베이스에 여러 값을 삽입하려고하지만 항상 첫 번째 라인을 삽입하고 중지합니다.루프 java를 사용하여 prepared statement를 사용하여 다중 값 삽입

String rq="insert into seance values (?, ?, ?,?,?,?);"; 

try (Connection cnx = Connecteur1.getConnection(); PreparedStatement pst = cnx.prepareStatement(rq)) { 

    for(Etudiant var:liste1) 
    { 
     if(!(listEntier.contains(var.getCode_etudiant()))) 
     { 
      pst.setString(1,DateCourant.format(date)); 
     pst.setString(2,temps.format(date)); 
     pst.setInt(3,codeMatiere); 
     pst.setInt(4, 0); 
     pst.setInt(5,var.getCode_etudiant()); 
     pst.setInt(6, codeGroupe); 

     pst.addBatch(); 

     } 
     else 
     { 
      pst.setString(1,DateCourant.format(date)); 
      pst.setString(2,temps.format(date)); 
      pst.setInt(3,codeMatiere); 
      pst.setInt(4, 1); 
      pst.setInt(5,var.getCode_etudiant()); 
      pst.setInt(6, codeGroupe); 

      pst.addBatch(); 

     } 

    } 

    pst.executeBatch(); 
    pst.close(); 

} 

답변

1

당신이 필요합니다

cnx.setAutoCommit(false) 

시작 부분에

cnx.commit(); 

관련 문제