複数のチェックボックスを持つ.jspページがあります。私は複数のチェックボックスの値を挿入することができますが、更新を使用すると、現在のチェックボックスの行と追加のチェックボックスの値の行が追加されます。もう1つのボックスをチェックすると、1行が追加されます。ここで変更されました:重複した値でjava jdbcの複数の行を更新する方法
は、更新のために働く私のコードです: 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();
}
}
私は2つのチェックボックスを選択した場合、これは、それがどのように見えるかです。
rowid | qID | CID - CORRECT
:101:| :121:| 9:
:100: :121:| :13:私は3つのチェックボックスを選択した場合
//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();
}
}
これは、更新され得るものです。
rowid | qID | CID - WRONG OUTPUT
:105:| :121:| :2:
:104:| :121:| :9:
:103:| :121:| :13:
:101: :121:| 9:
:100: :121:| :13:
これは、次のようになります。
rowid | qID | CID - 正しい出力
:103:| :121:| :2:
:101: :121:| 9:
:100: :121:| :13:
私は1週間この作業をしていますが、誰かが私を助けることができますか?
は、あなたの場合、あなたが代わりにバッチを使用するようにすべきではあなたに
arrayColIDの値を確認する必要があります。 – Sedrick