day13,14_赵倍勇.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JDBC续可滚动的结果集con.createSttement():生成的结果集:不滚动、不敏感、不可更新!StatementcreateStatement(int resultSetType, int resultSetConcurrency) 他的参数可以指定这个语句发送器所产生的结果集是否可以滚动第一个参数:ResultSet.TYPE_FORWARD_ONLY:不滚动结果集;ResultSet.TYPE_SCROLL_INSENSITIVE:滚动结果集,但结果集数据不会再跟随数据库而变化;ResultSet.TYPE_SCROLL_SENSITIVE:滚动结果集,但结果集数据不会再跟随数据库而变化;第二个参数:CONCUR_READ_ONLY:结果集是只读的,不能通过修改结果集而反向影响数据库;CONCUR_UPDATABLE:结果集是可更新的,对结果集的更新可以反向影响数据库。结果集滚动的情况下一行:默认只能使用它,其他的方法存在,但不能使用!默认的结果集不可滚动!上一行下N行上N行到N行!ResultSet表示结果集,它是一个二维的表格!ResultSet内部维护一个行光标(游标),ResultSet提供了一系列的方法来移动游标:(下面这些方法只有在createStatement 里面设置了滚动结果集才能使用,不过我们最常使用的是 next() 方法 而且mysql 数据库的驱动中 createSttement() 已经封装了滚动,更新 ,敏感 他可以直接的使用这些方法进行滚动)void beforeFirst():把光标放到第一行的前面,这也是光标默认的位置;void afterLast():把光标放到最后一行的后面;boolean first():把光标放到第一行的位置上,返回值表示调控光标是否成功;boolean last():把光标放到最后一行的位置上;boolean isBeforeFirst():当前光标位置是否在第一行前面;boolean isAfterLast():当前光标位置是否在最后一行的后面;boolean isFirst():当前光标位置是否在第一行上;boolean isLast():当前光标位置是否在最后一行上;boolean previous():把光标向上挪一行;boolean next():把光标向下挪一行;boolean relative(int row):相对位移,当row为正数时,表示向下移动row行,为负数时表示向上移动row行;boolean absolute(int row):绝对位移,把光标移动到指定的行上;int getRow():返回当前光标所有行。上面方法分为两类,一类用来判断游标位置的,另一类是用来移动游标的。如果结果集是不可滚动的,那么只能使用next()方法来移动游标,而beforeFirst()、afterLast()、first()、last()、previous()、relative()方法都不能使用!!!结果集是否支持滚动,要从Connection类的createStatement()方法说起。也就是说创建的Statement决定了使用Statement创建的ResultSet是否支持滚动。Statement createStatement(int resultSetType, int resultSetConcurrency)resultSetType的可选值:ResultSet.TYPE_FORWARD_ONLY:不滚动结果集;ResultSet.TYPE_SCROLL_INSENSITIVE:滚动结果集,但结果集数据不会再跟随数据库而变化;ResultSet.TYPE_SCROLL_SENSITIVE:滚动结果集,但结果集数据不会再跟随数据库而变化;可以看出,如果想使用滚动的结果集,我们应该选择TYPE_SCROLL_INSENSITIVE!其实很少有数据库驱动会支持TYPE_SCROLL_SENSITIVE的特性!通常我们也不需要查询到的结果集再受到数据库变化的影响。resultSetConcurrency的可选值:CONCUR_READ_ONLY:结果集是只读的,不能通过修改结果集而反向影响数据库;CONCUR_UPDATABLE:结果集是可更新的,对结果集的更新可以反向影响数据库。通常可更新结果集这一“高级特性”我们也是不需要的! 获取滚动结果集的代码如下:Connection con = …Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, CONCUR_READ_ONLY);String sql = …//查询语句ResultSet rs

文档评论(0)

502992 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档