可滚动和可更新的结果集

时间:2020-11-27 12:04:32

可滚动的结果集

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();//更新后的行值提交到数据库

}

注:并非所有的数据库驱动都支持可滚动和可更新的结果集。