Nie rozumiem zamieszania. Możesz określić parametr w taki sam sposób, jak określasz parametr dla "ItemCount":
String SQLupdate = "UPDATE tableItem SET ItemCount= ? WHERE ItemCode = ?";
ps = con.prepareStatement(SQLupdate);
for(int row=0; row<rows; row++)
{
String itemCode = (String)tabelDetailDO.getValueAt(row, 0);
itemCount = (int) tabelDetailDO.getValueAt(row, 2);
addItemCount = (int) tabelDetailDO.getValueAt(row, 3);
totalItemCount = itemCount + addItemCount;
ps.setInt(1, totalItemCount);
ps.setString(2, itemCode);
ps.addBatch();
}
Uwaga, nigdy nie używałem aktualizacji wsadowej, więc najpierw spróbuj uruchomić logikę bez partii, więc będziesz musiał wykonać aktualizację za każdym razem w pętli. Tak, wiem, że to nie jest wydajne, ale po prostu testujesz SQL.
Następnie, gdy to zadziała, spróbuj użyć aktualizacji zbiorczej.