J'ai une page .jsp qui a une case à cocher multiple. Je suis capable d'insérer les valeurs de case à cocher multiples, mais lorsque vous utilisez une mise à jour, il ajoute les lignes de case à cocher actuelles plus les lignes de valeur de case à cocher supplémentaires. Si je coche une case de plus, il faut ajouter 1 ligne de plus et ainsi de suite.Modifié: Comment mettre à jour plusieurs lignes dans java jdbc sur la valeur dupliquée
Voici mon code qui fonctionne pour la mise à jour: CollDAO.java:
//Insert checkbox records
public void addColl(String qId, String[] arrayColId) {
try {
PreparedStatement ps = con.preparedStatement("insert into colTable(qId, colId) values(?,?)");
for(int i = 0; i < arrayColId.length; i++) {
ps.setString(1, qId);
ps.setString(2, arrayColId[i]);
ps.executeUpdate();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
Si je sélectionne 2 cases c'est à quoi il ressemble.
rowid | qID | cid - CORRECT
: 101: | : 121: | : 9:
: 100: | : 121: | : 13:
//Update checkbox records
public void updateColl(String qId, String[] arrayColId) {
try {
String sql = "update colTable set colId=?, where qId=?";
PreparedStatement ps = con.preparedStatement(sql);
for(int i = 0; i < colId; i++) {
ps.setString(1, colId[i]);
ps.setString(2, qId);
ps.executeUpdate();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
Si je sélectionne 3 cases à cocher c'est ce que soient mis à jour.
rowid | qID | cid - SORTIE MAL
: 105: | : 121: | : 2:
: 104: | : 121: | : 9:
: 103: | : 121: | : 13:
: 101: | : 121: | : 9:
: 100: | : 121: | : 13:
C'est ce à quoi cela ressemble.
rowid | qID | cid - CORRECT SORTIE
: 103: | : 121: | : 2:
: 101: | : 121: | : 9:
: 100: | : 121: | : 13:
J'ai travaillé sur cela pendant une semaine, quelqu'un peut-il m'aider?
Merci
Vous devez vérifier les valeurs dans arrayColID. – Sedrick