簡體   English   中英

使用JDBC讀取和更新每一行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM