jdbc基础5--翻译sun官方教程

10 篇文章 0 订阅
7 篇文章 0 订阅
Scollable Result Sets
前面用到的ResultSets都是顺序性的,也就是说我们总是通过ResultSet.next()方法
从头到尾的来获取记录.由前面我们都是通过Statement的executeQuery方法来获得ResutSets,
Statement总是通过下面的方法得到
stmt=con.createStatement();
在jdbc1.0中我们只能通过该方法来获得statement,从jdbc2.0以后又引入了一种新的方法.
该方法可以创建可移动或者和更新的ResultSets
createStatement(
   int resultSetType,
   int resultSetConcurrency )
使用
resultSetType 可以是

    * ResultSet.TYPE_FORWARD_ONLY--这是默认的,和jdbc1.0中一样. 游标只能向前移动, 得到的列只可读不能更改.如果Resultset.next()返回false,  ResultSet 数据不再有效,一般会自动关闭rs.但是建议手动关闭rs尽快的释放资源.
    * ResultSet.TYPE_SCROLL_INSENSITIVE可以使游标前后任意移动.这是静态数据:数据库中对当前行的数据的更改都是不可见的.也就是说,ResulstSet对数据库数据的更改不敏感.
    * ResultSet.TYPE_SCROLL_SENSITIVE 可以使游标前后任意移动.这是静态数据:数据库中对当前行的数据的更改都是可见的的.也就是说,ResulstSet对数据库数据的更改敏感.
 
resultSetConcurrency 可以是

    * ResultSet.CONCUR_READ_ONLY - 默认的和jdbc1.0中相同.
    * ResultSet.CONCUR_UPDATABLE 通过新的ResultSet的方法使数据改变 .

可更新的ResultSet有其优点当然也有缺陷.这里不在深入的讨论,如果欲得到更多信息
请参阅http://java.sun.com/developer/Books/JDBCTutorial/index.html中的3.3章.
需要注意的是即使驱动支持,ResultSet仍有可能不返回.另外可以使用DatabaseMetaData.supportsResultSetType()
来查看驱动支持的ResultSet的类型.ResultSet.getType()来查看ResultSet的返回类型.

scrollable ResultSet提供以下方法.

    * absolute()
    * afterLast()
    * beforeFirst()
    * first()
    * getRow()
    * isAfterLast()
    * isBeforeFirst()
    * isFirst()
    * isLast()
    * last()
    * moveToCurrentRow()--只对updatable ResultSet有效.
    * moveToInsertRow()--只对 updatable ResultSet有效.
    * previous()
    * relative()




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值