Oracle分页在Web上的首页

本例子代码,只讲Oracle分页的常用的一种方法在Web中的使用,不涉及MVC,代码优化等东西,高手请飘过。新手可以参考。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

<body>

*************************************  Oracle分页的重要代码,学习自 韩顺平老师的 Java操作Oracle 十二讲  **************************************** <br>

<br>

<form action="/TestOracleFenye/index.jsp">

<input type="text" name="pageSize">

<input type="submit" name="submit" value="设置pageSize">

<br/>

</form>

<table>

<tr>

<td>姓名</td>

<td>薪水</td>

</tr>

<%

//加载驱动

Class.forName("oracle.jdbc.driver.OracleDriver");

//建立连接

Connection conn = DriverManager.getConnection(

"jdbc:oracle:thin:@192.168.1.5:1521:BJSXT", "scott","tiger");

//定义结果集

ResultSet rs = null;

//从下面开始和SqlServer 一模一样

Statement sm = conn.createStatement();

//初始化每页的记录条数

int pageSize = 20;

String s_PageSize = request.getParameter("pageSize");

if(s_PageSize!=null && !"".equals(s_PageSize.trim())) {

pageSize = Integer.parseInt(s_PageSize);

}

//总共有多少页,计算得出

int pageCount = 0;

//总共有多少条记录,查询得出

int rowCount = 0;

//当前页

int currentPage = 1;

//初始化开始和结束的记录条数

int start = 1;

int end = pageSize;

//得到记录总数

rs = sm.executeQuery("select count(*) from emp");

while(rs.next()) {

rowCount = rs.getInt(1);

if(rowCount%pageSize==0){

pageCount = rowCount/pageSize;

} else {

pageCount = rowCount/pageSize+1;

}

}

//当前页码

String s_CurrentPage = request.getParameter("currentPage");

if(s_CurrentPage!=null && !"".equals(s_CurrentPage.trim())) {

currentPage = Integer.parseInt(s_CurrentPage);

start = (currentPage-1)*pageSize + 1;

end = currentPage*pageSize;

}

//分页的关键代码

String fenyeSql = "select * from (select a1.*, rownum bieming from (select * from emp) a1 where rownum<=" + end + ") where bieming>=" + start;

out.println(fenyeSql + "<br />");

rs = sm.executeQuery(fenyeSql);

//##查询所有的员工 rs = sm.executeQuery("select * from emp");

while(rs.next()){

out.print("<tr>");

out.print("<td>" + rs.getString(2) + "</td>");

out.print("<td>" + rs.getString(6) + "</td>");

out.print("</tr>");

}

//打印总页数

for(int i=1; i<=pageCount; i++){

out.print("<a href=‘" + basePath + "index.jsp?currentPage=" + i + "&pageSize=" + pageSize +"‘>" + i + "</a> ");

}

rs.close();

sm.close();

conn.close();

%>

</table>

</body>

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

时间: 2024-08-03 03:14:04

Oracle分页在Web上的首页的相关文章

为 Python Server Pages 和 Oracle 构建快速 Web 开发环境。

为 Python Server Pages 和 Oracle 构建快速 Web 开发环境. - 在水一方 - 博客频道 - CSDN.NET 为 Python Server Pages 和 Oracle 构建快速 Web 开发环境. 分类: 技术空间 2008-06-12 10:43 301人阅读 评论(0) 收藏 举报 pythonoracleserverwebapache数据库 目录(?)[+] Python 和 Python server Pages 的背景 解决方案组件 oracle 数

Oracle分页查询语句的写法(转)

分页查询是我们在使用数据库系统时经常要使用到的,下文对Oracle数据库系统中的分页查询语句作了详细的介绍,供您参考. Oracle分页查询语句使我们最常用的语句之一,下面就为您介绍的Oracle分页查询语句的用法,如果您对此方面感兴趣的话,不妨一看. Oracle分页查询语句基本上可以按照本文给出的格式来进行套用.Oracle分分页查询格式: SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHER

ORACLE 分页查询

Oracle之分页查询 Oracle的分页查询语句基本上可以按照本文给出的格式来进行套用. 分页查询格式: SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHERE ROWNUM <= 40 ) WHERE RN >= 21 其中最内层的查询SELECT * FROM TABLE_NAME表示不进行翻页的原始查询语句.ROWNUM <= 40和RN >= 21控制分页查询的每页的范围.

oracle分页查询结果集重复问题&解决方法

做项目时,无意间发现了分页上的一个bug,在此记录一下: 首先手动将后台输出的sql语句复制进oracle中查看,以便排查错误,对比以下视图前10条的结果集与10到20条的结果集,发现大部分记录出现重复现象,SQL语句如下: --前10条记录 select *   from (select row_.*, rownum rownum_           from (select t.idcard, count(1)                   from sampling.v_unvou

[Oracle]关于Oracle分页写法的性能分析及ROWNUM说明

关于分页写法的性能分析及ROWNUM的补充说明 分页写法 一.测试前数据准备 SQL> SELECT COUNT(*) FROM BPM_PROCVAR; COUNT(*) ---------- 2121400 1.分页写法一 SELECT * FROM (SELECT ROWNUM RN, A.* FROM (SELECT * FROM BPM_PROCVAR ORDER BY VARID) A WHERE ROWNUM <= 40) B WHERE B.RN >= 21; 查询结果:

oracle 分页存储过程

--创建表declare num number; begin select count(1) into num from user_tables where table_name='SRCT';   --判断当前要创建的表在数据库中是否存在.if num>0 then execute immediate 'drop table '||'SRCT'; --表名要大写end if; execute immediate 'CREATE TABLE SRCT(    SN  char(11),   XM

GridView自定义分页样式(上一页,下一页,到第几页)

今天要为网站做一个文章列表,发现GridView的分页样式很难看,于是结合网上的例子,自己做了一个.不是很美观,不过还是很实用的,先看下效果吧,如图(1). 图(1)GridView分页效果 自定义GridView的分页样式,使用的是GridView的  <PagerTemplate>元素.我们先看这段分页代码. 1 <PagerTemplate> 2 <br /> 3 <asp:Label ID="lblPage" runat="s

从零开始编写自己的C#框架(17)——Web层后端首页

后端首页是管理员登陆后进入的第一个页面,主要是显示当前登陆用户信息.在线人数.菜单树列表.相关功能按键和系统介绍.让管理员能更方便的找到息想要的内容. 根据不同系统的需要,首页会显示不同的内容,比如显示公司公告.公司新闻.内部短消息.个人事务.各种业务提醒......等各种内容,这些大家可以需要去进行呈现. 先上代码 Main.aspx 1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind=&qu

ORACLE存储过程调用Web Service

1. 概述 最近在ESB项目中,客户在各个系统之间的服务调用大多都是在oracle存储过程中进行的,本文就oracle存储过程调用web service来进行说明.其他主流数据库,比如mysql和sql service,调用web service的方法这里就不做介绍了,本文主要用来介绍oracle存储过程调用Web Service的方法. 众所周知,在Web Service通过HTTP协议发送请求和接收结果时,发送的请求内容和结果内容都采用XML格式封装,并增加了一些特定的HTTP消息头,以说明