У меня есть 3-уровневый вложенный цикл, который должен выполнять запрос, являющийся частью более крупного веб-сервиса, но проблема в том, что внешний цикл выполняется только наполовину, как показано ниже:
PreparedStatement ps = conn.prepareStatement("INSERT INTO malattia (nome, eta, descrizione, sesso, etnia, sintomi) values (?, ?, ?, ?, ?, ?)");
if(sexarra.length == 2){
for(int k=0; k<sexarra.length; k++) {
for(int i=0; i<selec.length; i++){
for(int j=0;j<sintom.length;j++){
ps.setString(1, malattia);
ps.setInt(2, eta);
ps.setString(3, descrizione);
ps.setString(4, sexarra[k] );
ps.setString(5, selec[i]);
ps.setString(6, sintom[j]);
ps.executeUpdate();
}
}
}
}
else {
for(int i=0; i<selec.length; i++){
for(int j=0;j<sintom.length;j++){
ps.setString(1, malattia);
ps.setInt(2, eta);
ps.setString(3, descrizione);
ps.setString(4, sexarra[0] );
ps.setString(5, selec[i]);
ps.setString(6, sintom[j]);
ps.executeUpdate();
}
}
}
ps.close();
//ds.close();
conn.close();
ris = "si";
} catch (SQLException e) {
System.out.println("Errore: " + e.getMessage());
return ris;
}
}
return ris;
}
Проблема лежит в первой части, где sexarra.lengh=2
, точно в самом внешнем цикле, который должен повторяться два раза, но какая программа выдает исключение, как только циклы, связанные с k = 0, я имею в виду он не выполняет циклы, связанные с K=1
. У меня были проблемы с вложенными циклами и preparedstatement
в течение нескольких дней, и это последний, где я не знаю, что я делаю неправильно. Спасибо за ваше время и усилия людей.