当我想更新表格中的blob列时出现此错误
结果集不可更新。此结果集必须来自语句 使用ResultSet.CONCUR_UPDATABLE的结果集类型创建的, 查询必须只选择一个表,不能使用函数和必须 从该表中选择所有主键。请参阅JDBC 2.1 API 规范,第5.6节了解更多细节。必须提供此结果集 来自使用结果集类型创建的语句 ResultSet.CONCUR_UPDATABLE,查询必须只选择一个表,才可以 不使用函数,必须从该表中选择所有主键。 有关更多详细信息,请参阅JDBC 2.1 API规范,第5.6节。
但我的陈述是可以更新的! 有谁能够帮我 ?
这是我创建语句的代码
public PreparedStatement getPreparedStatement(String sql) {
try {
return con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
} catch (SQLException ex) {
Logger.getLogger(DatabaseAccessor.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
}
这就是我想要更新blob的方式
resultSet.updateBlob("mainPic", mainPic.getInputStream());
答案 0 :(得分:0)
这是我的代码:
DatabaseAccessor accessor = new DatabaseAccessor();
PreparedStatement statement = accessor.getPreparedStatement("SELECT * FROM mainpage WHERE ID=0");
ResultSet resultSet = statement.executeQuery();
resultSet.next();
mainPic = request.getPart("mainPic");
resultSet.updateBlob("mainPic", mainPic.getInputStream());