可滚动的结果集
Statement stat= conn.createStatement(type,concurrency);
PreparedStatement preStat= conn.prepareStatement(command, type, concurrency);
值 | 解释 |
TYPE_FORWARD_ONLY | 结果集不能滚动 |
TYPE_SCROLL_INSENSITIVE | 结果集可以滚动,但对数据库变化不敏感 |
TYPE_SCROLL_SENSITIVE | 结果集可以滚动,对数据库变化敏感 |
CONCUR_READ_ONLY | 结果集不能用于更新数据库(默认值) |
CONCUR_UPDATABLE | 结果集可以用于更新数据库 |
Statement stat= conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);//可滚动不可编辑
Statement stat= conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATE);//可更新可滚动的结果集
String sql="SELECT * FROM books";
ResultSet rs = stat.executeQuery(sql);
while(rs.next()){
double increase = 9.0;
double price =rs.getDouble("Price");
rs.update("Price",price+increase);//指定列名或序号 更新结果集的行值
rs.updateRow();//更新后的行值提交到数据库
}
注:并非所有的数据库驱动都支持可滚动和可更新的结果集。