- 浏览: 496132 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (139)
- JAVA (20)
- Database (11)
- Flex (2)
- OXM (1)
- Oracle (17)
- Persistence (2)
- IDE (5)
- Software Development (12)
- Operation System (22)
- Spring (1)
- Computer (3)
- WEB Server (6)
- Industry Applications (11)
- Project Management (1)
- Web Service (1)
- Linux (9)
- HTML (2)
- Crypto (1)
- Lucene (3)
- Hadoop (10)
- Java Script (2)
- Search (7)
- Python (1)
最新评论
-
bcabchappy:
win7下面无效:当前盘符:%~d0原样输出了
CMD获取当前目录的绝对路径 -
gpo:
很好
struts2文件上传如何限制上传文件类型(类型列表) -
zl0828:
很好的东西,顶你,分享
CMD获取当前目录的绝对路径
1 )当前页: 即要显示或打开的那一页的页数
currPage
2 )页面大小: 即每页要显示数据的数量
如:每页都显示 10条数据
pageSize
3 )总数据: 要显示的数据的总数,即要显示的结果集
totalSize
4 )总页数: 即显示总数据需要的页数
totalPage
它的计算公式为: (totalSize+pageSize-1)/pageSize
例如:
如要显示 17条数据,每页显示 5条,那么总页数 : totalPage =(17+5-1)/5=4
5 )计算当前页的第一条数据 计算公式:
(currPage-1)*pageSize+1
如要显示 17 条数据,每页显示 5条,那么第 3页数据 第一条数据是 :
(3-1)*5+1=11
6 )计算当前页的最后一条数据 计算公式:
(currPage-1)*pageSize+pageSize
如要显示 17 条数据,每页显示 5条,那么第 3页数据 最后一条数据是 :
(3-1)*5+5=15
SQL SERVER 2005 实现分页的方式
一: 存储过程方式
if exists( select * from sysobjects where name = 'pro_pageData' )
drop procedure pro_pageData
go
create procedure pro_pageData
@pageNum int
as
select *
from
(
select *, row_number() over ( order by stuid) as rowno
from student
) as s
where rowno>=( @pageNum- 1)* 5+ 1 and rowno <= ( @pageNum - 1)* 5+ 5;
go
exec pro_pageData 4
go
二:一般语句方式 ( 预编译 )
select *
from
(
select *, row_number() over ( order by stuid) as rowno
from student
) as s
where rowno>=( ?- 1)* 5+ 1 and rowno <= ( ?- 1)* 5+ 5;
三:按条件查询后再对结果进行分页
select *
from
(
select *, row_number() over ( order by stuid) as rowno
from student
where 1 = 1 and stuName like '% 罗 %'
) as s
where rowno>=( 1- 1)* 5+ 1 and rowno <= ( 1 - 1)* 5+ 5;
注意:第一个where 用来匹配查询条件;
第二个where 用来显示特定页数据;
补充:分页数据的存储过程(完整版)
go
use Db_TonyPaging
go
if exists ( select 1
from sysobjects
where id = object_id ( ' DepartDemo ' )
and type = ' U ' )
drop table DepartDemo
go
/* ============================================================== */
/* Table: DepartDemo */
/* ============================================================== */
create table DepartDemo (
PKID int identity ( 1 , 1 ),
DName nvarchar ( 200 ) null ,
DCode nvarchar ( 500 ) null ,
Manager nvarchar ( 50 ) null ,
ParentID int null default 0 ,
AddUser nvarchar ( 50 ) null ,
AddTime datetime null ,
ModUser nvarchar ( 50 ) null ,
ModTime datetime null ,
CurState smallint not null default 0 ,
Remark nvarchar ( 500 ) null ,
F1 int not null default 0 ,
F2 nvarchar ( 300 ) null ,
constraint PK_DEPARTDEMO primary key (PKID)
)
go
truncate table DepartDemo
go
/* **************创建54 条测试数据*********************
****************downmoo 3w@live.cn ************** */
declare @d datetime
set @d = getdate ()
declare @i int
set @i = 1
while @i <= 54
begin
-- 插入一条测试数据
insert into DepartDemo
select ' 国家统计局房产审计 ' + Cast ( @i as Nvarchar ( 10 )) + ' 科 ' , ' 0 ' , ' 胡不归 ' , 0 , ' DemoUser ' , getdate (),
'' , ' 1900-01-01 ' , 1 , ' 专业评估全国房价,为老百姓谋福祉 ' , 0 , ''
set @i = @i + 1
end
go
-- ***********分页存储过程用于SQL server2005/2008、2008R2****************************
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
Create PROCEDURE [ dbo ] . [ ZJF_CPP_GetPagedRecordFor2005_2008 ]
( @Table varchar ( 1000 ), -- 表名,多表是请使用 tA a inner join tB b On a.AID = b.AID
@TIndex nvarchar ( 100 ), -- 主键,可以带表头 a.AID
@Column nvarchar ( 2000 ) = ' * ' , -- 读取字段
@Sql nvarchar ( 3000 ) = '' , -- Where条件
@PageIndex int = 1 , -- 开始页码
@PageSize int = 10 , -- 页大小
@Sort nvarchar ( 200 ) = '' -- 排序字段
)
AS
IF @Sql IS NOT NULL AND len ( ltrim ( rtrim ( @Sql ))) > 0
BEGIN
SET @strWhere = ' WHERE ' + @Sql + ' '
END
ELSE
BEGIN
SET @strWhere = ''
END
if ( charindex ( ltrim ( rtrim ( @TIndex )), @Sort ) = 0 )
begin
if ( @Sort = '' )
set @Sort = @TIndex + ' DESC '
else
set @Sort = @Sort + ' , ' + @TIndex + ' DESC '
end
IF @PageIndex < 1
SET @PageIndex = 1
if @PageIndex = 1 -- 第一页提高性能
begin
set @strsql = ' select top ' + str ( @PageSize ) + ' ' + @Column
+ ' from ' + @Table + ' ' + @strWhere + ' ORDER BY ' + @Sort
end
else
begin
/* Execute dynamic query */
DECLARE @START_ID nvarchar ( 50 )
DECLARE @END_ID nvarchar ( 50 )
SET @START_ID = convert ( nvarchar ( 50 ),( @PageIndex - 1 ) * @PageSize + 1 )
SET @END_ID = convert ( nvarchar ( 50 ), @PageIndex * @PageSize )
set @strsql = ' SELECT ' + @Column + '
FROM (SELECT ROW_NUMBER() OVER(ORDER BY ' + @Sort + ' ) AS rownum,
' + @Column + '
FROM ' + @Table + ' WITH(NOLOCK) ' + @strWhere + ' ) AS D
WHERE rownum BETWEEN ' + @START_ID + ' AND ' + @END_ID + ' ORDER BY ' + @Sort
END
EXEC ( @strsql )
print @strsql
set @strsql = ' SELECT Count(1) as TotalRecords FROM ' + @Table + ' WITH(NOLOCK) ' + @strWhere
print @strsql
EXEC ( @strsql )
发表评论
-
OpenSSL命令---req
2014-03-09 22:05 15036用途: 本指令用来创建和处理PKCS#10格式的证书。它还 ... -
Hadoop集群的配置调优
2013-08-01 00:12 1206一、背景 Hadoop的集群使用也有些时候了,不过都是小集 ... -
Memory Analyzer Tool(MAT) 使用基础
2012-11-22 16:17 1321MAT 使用初探 今天线上一个应用的持久区满了,一直没 ... -
对称加密和分组加密中的四种模式(ECB、CBC、CFB、OFB)
2012-07-13 15:09 5105对称加密和分组加密中的四种模式(ECB、CBC、CFB、 ... -
Maven常用库
2012-03-26 11:54 1182http://search.maven.org Apa ... -
Maven 简要
2012-03-24 14:20 10531.前言 Maven,发音是[ ... -
Eclipse插件subclipse安装时JavaHL的问题(windows 7 64bit)
2012-02-14 22:14 1967在windows7中Java和eclipse都可以是64位的。 ... -
7个改变世界的Java项目
2011-10-21 09:22 1626Java的开源生态系统是强大而健康的,这是我们(Oreill ... -
SVN: Could not resolve hostname
2011-09-16 09:13 12135svn co http://src.chromium.or ... -
Linux下Java程序中文乱码问题研究
2011-01-07 15:00 3138Linux下Java程序中文乱码问题研究 贾金营1 ,贾金 ... -
log4j重复输出log信息原因和解决办法
2010-11-16 09:10 3206log4j的logger(旧版本称logger)是层次结构的, ...
相关推荐
以下是对分页实现的详细说明: 一、基础概念 分页是将数据库查询结果分割成多个页面,每次请求只返回一部分数据,而不是一次性返回所有数据。这在Web应用中尤其常见,如搜索引擎、电商网站等,用户通常会通过点击...
在wpf.MSPageNavigationTest这个示例项目中,你可以找到具体的代码实现和更详细的示例,包括如何将这些概念应用到实际的分页控件中。 总的来说,通过正确使用ICollectionView和适当的事件处理,WPF开发者可以轻松地...
### 真分页与假分页概念 **假分页**,又称为内存分页,其主要特点是服务器一次性加载所有数据到内存中,然后根据用户请求的页码在内存中进行分页展示。这种方法的优点在于实现简单,但缺点也很明显,当数据量大时,...
首先,理解分页的基本概念。分页是将大量数据分成若干小部分,每次只加载一部分数据到前端展示,避免一次性加载所有数据导致内存压力过大,提升页面加载速度。分页通常包含当前页、总页数、每页显示条数等参数。 1....
在Java编程领域,分页是数据管理中一个重要的概念,特别是在大数据量的Web应用中,为了提高用户体验,通常需要将数据分批次展示。本话题主要围绕"Java分页"、"动态代理"以及"AOP(面向切面编程)"在Spring框架中的...
在Java Web开发中,实现分页功能通常涉及前端页面(JSP)和后端代码(Java)的协同工作。而这里提到的Eclipse、Struts、Hibernate则是Java开发中常用的工具和框架,分别用于集成开发环境、MVC模式的Web层框架和对象...
在本文中,我们将深入探讨基本的分段和分页管理系统实现,这是操作系统中的核心概念。这两种方法都用于将进程的虚拟地址空间映射到物理内存中,以解决内存碎片问题并提高资源利用率。 首先,让我们了解一下分段内存...
下面将详细讨论分页工具类的核心概念、实现方式以及常见应用场景。 一、分页核心概念 1. 数据总量:在进行分页时,首先要确定待分页数据的总数,这通常通过查询数据库得到。 2. 每页大小:每一页显示的数据条目...
**标题解析:**“js分页功能实现”指的是在网页应用中使用JavaScript来实现数据的分页展示。分页是用户界面中常见的功能,用于将大量数据分成小块,逐页加载,提高用户体验并减轻服务器压力。 **描述分析:**虽然...
本文将深入探讨如何使用jQuery实现数据动态加载分页,并提供一个完整的实例。 首先,理解动态加载(也称为无限滚动或懒加载)的概念。它允许页面在用户滚动时按需加载内容,而不是一次性加载所有数据,从而减少了首...
本篇文章将详细讲解如何在Android中利用GridView实现分页加载功能。 首先,理解GridView的基本概念。GridView是ListView的一种变体,它按照指定的列数来排列子视图。默认情况下,GridView会一次性加载所有数据,这...
首先,理解分页的基本概念至关重要。分页允许用户逐页查看数据,而不是一次性加载所有记录。这减少了网络传输的数据量,降低了服务器压力,提高了页面加载速度。在Oracle数据库中,我们可以利用SQL查询的特定语法来...
本文将深入探讨如何使用JavaScript实现分页功能,以及相关的技巧和注意事项。 首先,我们需要理解分页的基本概念。通常,一个分页系统包括以下几个关键部分: 1. **总记录数**:这是你要展示的数据总数。 2. **每...
首先,我们要了解分页的基本概念。分页是将数据库查询结果分割成若干个页面进行显示,每个页面包含一定数量的数据记录。这有助于减少网络传输的数据量,同时使用户可以更方便地浏览和查找所需信息。 在MySQL中,...
4. **创建分页信息容器**:在业务逻辑层,我们需要创建一个`PageBean`或类似的对象,用于存储分页的相关信息,如当前页、总页数、每页记录数等。 ```java public class PageBean<T> { private int pageNo; ...
在Web开发中,分页是一种常见的用户界面设计技术,它用于处理大量的数据并提供良好的用户体验。当一个网页上的数据量过大时...在"PageDemo"中,你可以深入研究这些概念并动手实践,从而更好地理解和掌握Web分页的实现。
在C# WinForm开发中,`DataGridView`是一个常用的控件,用于展示数据表格。...理解这些核心概念后,你可以根据具体需求对代码进行调整和扩展,确保分页功能在你的C# WinForm项目中高效且稳定地工作。
在React开发中,分页是常见的功能之一,用于在大量数据中进行导航。"react-一款简单的react组件实现的分页"是一个实例,它展示...通过理解React的基本概念和实践,你可以根据自己的需求定制出满足各种场景的分页组件。
首先,我们需要理解分页的基本概念。分页是指将一个大数据集合分割成多个小部分,每次只显示一部分,用户可以通过翻页来查看其他部分。在Web应用中,这通常通过请求参数来控制,如当前页码和每页显示的条目数量。 1...
下面将详细介绍JavaEE分页的基本原理、实现方式以及相关的技术。 1. 分页的基本概念 分页是一种数据处理策略,用于将大量的数据分割成若干小块,每次只加载一部分,这样既可以减少服务器压力,又能提高页面加载...