我能够很好地阅读查询的每一行,但我还想在阅读时更新字段。
添加两个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节。
将主键添加到我的数据库并不会有什么坏处,无论如何这可能是正确的方法。
答案 0 :(得分:0)
我将主键添加到我的数据库中,它的工作非常精彩。
谢谢!