表1:
//ResultSet的type值
[table]
|ResultSet.TYPE_FORWARD_ONLY; |结果集不能滚动
|ResultSet.TYPE_SCROLL_INSENSITIVE; |结果集能滚动,但对数据库变化不敏感
|ResultSet.TYPE_SCROLL_SENSITIVE; |结果集能滚动,对数据库变化敏感|
[/table]
//ResultSet的concurrency值
[table]
|ResultSet.CONCUR_READ_ONLY; |结果集只读不可更新
|ResultSet.CONCUR_UPDATABLE; |结果集可更新|
[/table]
//ResultSet的type值
[table]
|ResultSet.TYPE_FORWARD_ONLY; |结果集不能滚动
|ResultSet.TYPE_SCROLL_INSENSITIVE; |结果集能滚动,但对数据库变化不敏感
|ResultSet.TYPE_SCROLL_SENSITIVE; |结果集能滚动,对数据库变化敏感|
[/table]
//ResultSet的concurrency值
[table]
|ResultSet.CONCUR_READ_ONLY; |结果集只读不可更新
|ResultSet.CONCUR_UPDATABLE; |结果集可更新|
[/table]
//创建不同用处的结果集参数参考值如:表1
Statement stmt = conn.createStatement(type,concurrency);
PreparedStatement pstmt = conn.preparedStatement(sql,type,concurrency);
//判断当前数据库驱动是否支持上述集合特性,支持返回值为true,不支持返回值为false
DatabaseMetaData dbmd = conn.getMetaData();
dbmd.supportsResultSetType(type);
dbmd.supportsResultSetConcurrency(type, concurrency);
//滚动集合操作
rs.next(); //后移
rs.previous(); //前移
rs.relative(rows); //根据当前行的位置移动rows,rows为负数则后移
rs.absolute(row); //移动到row行
rs.first(); //移动到第一行
rs.beforeFirst(); //移动到第一行的前面
rs.isFirst(); //判断当前位置是否是第一行
rs.isBeforeFirst();
rs.last(); //移动到最后一行
rs.afterLast(); //移动到最后一行的后面
rs.isLast();
rs.isAfterLast();
rs.getRow(); //获取当前行号
//更新行
rs.updateXxx(columnIndex, Xxx);
rs.updateRow();
//添加行
rs.moveToInsertRow();
rs.updateXxx(columnIndex, Xxx);
rs.updateXxx(columnIndex, Xxx);
rs.updateXxx(columnIndex, Xxx);
rs.insertRow();
rs.moveToCurrentRow();
//删除行
rs.deleteRow();