[英]Using JDBC to read and update each row
我能夠很好地讀取查詢的每一行,但我還想在讀取時更新字段。
添加兩個rs.update行時,以下代碼中斷。
Connection con = DriverManager.getConnection(url, user, pass);
stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE)
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
amount = rs.getInt("amount");
username = rs.getString("username");
rs.updateString("processed", "true");
rs.updateRow();
}
看來我找到了答案:
[SEVERE] com.mysql.jdbc.NotUpdatable:結果集不可更新(引用表沒有主鍵)。此結果集必須來自使用結果集類型ResultSet.CONCUR_UPDATABLE創建的語句,查詢必須僅選擇一個表,不能使用函數,必須從該表中選擇所有主鍵。 有關更多詳細信息,請參閱JDBC 2.1 API規范,第5.6節。
將主鍵添加到我的數據庫不會有什么壞處,無論如何這可能是正確的方法。
我將主鍵添加到我的數據庫中,它的工作非常精彩。
謝謝!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.