-2
データベースを更新するためにループを作成します。コードがテーブルに存在する場合、プログラムはデータを更新します。コードがテーブルに存在しない場合、プログラムはデータをINSERTします。データベースへのjavaデータの更新エラー
実行中、最初のコードはテーブルに存在しますが、プログラムは例外 "キー 'プライマリ'の重複したエントリをキャッチします。
ありがとうございます。
for (int i = 0; i < jsonarray.length(); i++) {
JSONObject obj = jsonarray.getJSONObject(i);
String code = obj.getString("a");
double lastprice = obj.getDouble("l");
double change = obj.getDouble("k");
double dayshigh = obj.getDouble("v");
double dayslow = obj.getDouble("w");
ResultSet rs = st.executeQuery(iName);
while (rs.next()) {
String hihi = rs.getString("iName");
if (rs.getString("iName").equals(code)) {
String query = "UPDATE Duong SET LastPrice = ?, iChange = ?, DaysHigh = ?, DaysLow = ? where iName = ?";
PreparedStatement preparedStmt = conn.prepareStatement(query);
preparedStmt.setDouble(1, lastprice);
preparedStmt.setDouble(2, change);
preparedStmt.setDouble(3, dayshigh);
preparedStmt.setDouble(4, dayslow);
preparedStmt.setString(5, code);
preparedStmt.executeUpdate();
} else {
st.executeUpdate("INSERT INTO Duong "
+ "VALUES ('" + code + "'," + lastprice + "," + change + "," + dayshigh + "," + dayslow + ")");
}
}
}
conn.close();
} catch (Exception e) {
System.err.println("Got an exception!");
System.err.println(e.getMessage());
}
挿入しようとすると、ロジックが間違っていることを意味します。 – soorapadman