使用JdbcRowSet

时间:2019-05-11 13:39:58

标签: java mysql jdbc rowset

我想使用RowSet接口实现更新,但是遇到一些错误。

我尝试使用以下代码:

// Load the JDBC driver
Class.forName("com.mysql.cj.jdbc.Driver");
System.out.println("Driver loaded");

RowSetFactory rsFactory = RowSetProvider.newFactory();
JdbcRowSet rowSet = rsFactory.createJdbcRowSet();

rowSet.setUrl(DATABASE_URL);
rowSet.setUsername(USERNAME);
rowSet.setPassword(PASSWORD);

// make rowset updateable
rowSet.setReadOnly(false); 
rowSet.setType(ResultSet.TYPE_SCROLL_INSENSITIVE);
rowSet.setConcurrency(ResultSet.CONCUR_UPDATABLE);

rowSet.setCommand("Select * from money");
rowSet.execute();

rowSet.absolute(3);
rowSet.updateInt("balance", parseIntBalance); //update third rows balance label to 5000
rowSet.updateRow();

以下是错误消息:

java.sql.SQLException: ResultSet is not updatable
    at com.sun.rowset.JdbcRowSetImpl.checkTypeConcurrency(JdbcRowSetImpl.java:4139)
    at com.sun.rowset.JdbcRowSetImpl.updateInt(JdbcRowSetImpl.java:2306)
    at com.sun.rowset.JdbcRowSetImpl.updateInt(JdbcRowSetImpl.java:2735)

0 个答案:

没有答案