我遇到错误:
“结果集不可更新”
。
在MySQL版本中使用 JDBC RowSet。 8 。
并设置所有参数,例如:
-setReadOnly(false)
-setConcurrency(CONCUR_UPDATEABLE)
-尽管默认情况下使用RowSet
是可更新的。
另一方面,当我更改为使用带有PreparedStatement的ResultSet时,使用相同的SQL命令,相同的数据库,相同的连接url,更新表的过程就会成功。
此处为部分代码:
rowSet = RowSetUtility.getRowSetFactory().createJdbcRowSet();
rowSet.setUserName("userName");
rowSet.setPassword("userPassword");
rowSet.setUrl("jdbc:mysql://localhost:3306/dkoplak?useSSL=false");
rowSet.setCommand("SELECT * FROM tableName");
rowSet.setAutoCommit(false);
rowSet.setReadOnly(false);
rowSet.execute();
rowSet.first();
if (rowSet.getConcurrency() == ResultSet.CONCUR_UPDATABLE) {
rowSet.updateString("company_name", "DDDDDDDDDDDkoplak");
rowSet.updateRow();
rowSet.commit();
}
请问有人可以给我一个提示。