数据的查询和显示精要
数据的查询和显示;.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 分析结果集查询
?? 通过分析结果集来输出记录。
在下面的例子中,查询所有姓王的同学的成绩。首先判断结果集中姓氏字段的值是否是某个姓氏,然后输出全部该姓氏的同学的成绩。;.6 使用通配符查询
?? 可以用SQL语句操作符LIKE进行模糊匹配.使用“%”代替一个或多个字符.用一个下划线“_”代替一个字符。
?? 比如下述语句查询姓氏是“王”的记录:
rs=sql.executeQuery(“SELECT *
FROM students WHERE 姓名LIKE‘王%’”);
6.1.4 更新记录(分页显示
您可能关注的文档
- 数据库系统原理练习题精要.doc
- 数据库系统原理-第八章 视图与索引精要.ppt
- 数据库系统概念6版中级SQL精要.ppt
- 数据库系统概念--第6章 高级查询精要.ppt
- 数据库系统概论 - 第五章精要.ppt
- 数据库使用讲座精要.ppt
- 数据库系统概念--第1章 数据库概述精要.ppt
- 数据库技术与应用—SQL-Server-2008(第2版)第4章.SQL-Server2008概述精要.ppt
- 数据库系统概论第二章数据库安全性ppt精要.ppt
- 数据库系统实验报告--图书馆管理系统oracle+java精要.doc
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- 宝城期货-原油2026年度报告-油海浮沉浪几重,掣鲸博弈破苍穹.pdf VIP
- 学堂在线 雨课堂 学堂云 临床中成药应用 综合考试答案.docx VIP
- 2018年1月13日山东济南事业单位考试《公共基础知识》(客观题部分).docx
- 食品生物技术-绪论.pptx VIP
- 2025年青岛职业技术学院单招笔试英语试题库含答案解析.docx VIP
- 中外建筑史7-近现代建筑.pptx VIP
- 2025年云南省中考生物真题(原卷).pdf
- 高中奥林匹克物理竞赛解题方法集.pdf VIP
- 梁小民西方经济学基础教程(第三版)第01章.ppt VIP
- 小学英语语法代词省公开课一等奖全国示范课微课金奖课件.pptx VIP
原创力文档

文档评论(0)