Jdbc 如何修复更新滚动敏感结果集期间引发的错误?

Jdbc 如何修复更新滚动敏感结果集期间引发的错误?,jdbc,Jdbc,我试图更新ResultSet中的一行,但它抛出了一个错误。我将常量值ResultSet.TYPE\u SCROLL\u SENSITIVE,ResultSet.CONCUR\u updateable传递给createStatement 这是我的代码: public void modifyPrice(float percentage) throws SQLException { try { con = util.connectdb(); con.setAut

我试图更新ResultSet中的一行,但它抛出了一个错误。我将常量值
ResultSet.TYPE\u SCROLL\u SENSITIVE,ResultSet.CONCUR\u updateable
传递给createStatement

这是我的代码:

public void modifyPrice(float percentage) throws SQLException {
    try {
        con = util.connectdb();
        con.setAutoCommit(false);
        st = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
                ResultSet.CONCUR_UPDATABLE);
        ResultSet rs = st.executeQuery("select * from " + util.dbName
                + ".COFFEES");
        while (rs.next()) {
            float f = rs.getFloat("PRICE");
            rs.updateFloat("PRICE", f * percentage);
            rs.updateRow();
        }
    } catch (SQLException e) {
        e.printStackTrace();
    } catch (ClassNotFoundException e) {

        e.printStackTrace();
    } finally {
        if (st != null) {
            st.close();
            con.close();
        }
    }

}
当我执行这个代码块时,下面的堆栈被打印在控制台上

java.sql.SQLException: Invalid operation for read only resultset: updateFloat
at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:131)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:197)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:261)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:269)
at oracle.jdbc.driver.BaseResultSet.updateFloat(BaseResultSet.java:236)
at oracle.jdbc.driver.OracleResultSet.updateFloat(OracleResultSet.java:677)
at tutorial.ModifyResultSet.modifyPrice(ModifyResultSet.java:29)
at tutorial.ModifyResultSet.main(ModifyResultSet.java:15)
有人能帮我纠正这个错误吗

根据这些链接

您应该使用“从中选择我的列名称”语句,而不是“从中选择*”。
看看有没有什么不同。

有人能帮我修复这个错误吗,所以我会在截止日期前提交作业。