网站大量收购闲置独家精品文档,联系QQ:2885784924

数据的查询和显示.ppt

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据的查询和显示

数据的查询和显示 .1 顺序查询 ?? 使用结果集Result的next()方法,可以顺序地查询。一个结果集最初将游标定位在第一行的前面.第一次调用next()方法使游标移动到第一行。next()方法返回一个boolean型数据.当游标移动到最后一行之后返回false。 在下面的例子1中,查询数据库pubs(数据源sun中)students表里包含的全部字段的记录。 .2 游动查询 ?? 前面我们学习了使用结果集Result的next()方法顺序地查询数据.但有时候我们需要在结果集中前后移动或显示结果集指定的一条记录等等。这时,我们必须要返回一个可滚动的结果集。 得到一个可滚动的结果集 ?? 必须使用下述方法先获得一个Statement对象: ?? Statement stmt=con.createStatement(int type,int concurrency); ?? 根据参数type、concurrency的取值情况,stmt返回相应类型的结果集: ?? ResultSet re=stmt.executeQuery(SQL语句); type的取值决定滚动方式 ?? ResultSet.TYPE_FORWORD_ONLY 结果集的游标只能向下滚动。 ?? ResultSet.TYPE_SCROLL_INSENSITIVE 结果集的游标可以上下移动。当数据库变化时,当前结果集不变。 ?? ResultSet.TYPE_SCROLL_SENSITIVE返回可滚动的结果集。当数据库变化时.当前结果集同步改变。 concurrency的取值决定是否可以用结果集更新数据库. ?? ResultSet.CONCUR_READ_ONLY 不能用结果集更新数据库中的表。 ?? ResuItSet.CONCUR_UPDATABLE 能用结果集更新数据库中的表。 滚动查询经常用到ResultSet的方法 ?? public boolean previous() 将游标向上移动.该方法返回boolean型数据.当移到结果集第一行之前时返回false。 ?? public void beforeFirst() 将游标移到结果集的初始位置.即在第一行之前。 ?? public void afterLast () 将游标移到结果集最后一行之后。 ?? public void first() 将游标移到结果集的第一行。 ?? public void last() 将游标移到结果集的最后一行。 ?? public boolean isAfterLast() 判断游标是否在最后一行之后。 public boolean isBeforeFirst() 判断游标是否在第一行之前。 ?? public boolean ifFirst() 判断游标是否指向结果集的第一行。 ?? public boolean isLast() 判断游标是否指向结果集的最后一行。 ?? public int getRow() 得到当前游标所指行的行号。行号从1开始.如果结果集没有行,返回0。 ?? public boolean absolute(int row)将游标移到参数row指定的行号。 如果row取负值,就是倒数的行数:例如 absolute(-1)表示移到倒数第1行(最后一行), absolute(-2)表示移到倒数第2行。当移动到第一行前面或最后一行的后面时.该方法返回false。 在下面的例子3中,首先将游标移到最后一行,然后再获取行号,这样就获得表中的记录数目。然后倒序输出结果集中的记录,即首先输出最后一行。最后单独输出第五条记录。 .3 随机查询 ?? 用Math类的静态方法random()可以产生一个大于0小于1的随机数. ?? 再用下述公式: int i=(int)(Math.random()*number+1);产生一个1到number之间的随机数,根据这个随机数将游标移动到相应的行,并输出该行。 用vector,将所有的记录存入vector,每查询一个记录,便将该记录的行号删除,从而保证产生的随机数均是不重复。 4排序查询 ?? 可以在SQL语句中使用ORDER BY子语句对记录排序。实现按某种顺序形成结果集。 在下面的例子中,使用SQL语句的ORDER BY子语句查询所有同学的成绩,可以选择按3科的总分从低到高排列记录、按姓氏拼音排序或按英语成绩排序。 例如,按总成绩排序查询的SQL语句: SELECT * FROM student ORDER BY 数学成绩+英语成绩+物理成绩 .5 分析结果集查询 ?? 通过分析结果集来输出记录。 在下面的例子中,查询所有姓王的同学的成绩。首先判断结果集中姓氏字段的值是否是某个姓氏,然后输出全部该姓氏的

文档评论(0)

文档精品 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:6203200221000001

1亿VIP精品文档

相关文档