第1个回答 2013-07-14
数据量较大的时候不能用全部查出的方法,只能分次进行查询。
每次点击翻页,都会传出一个当前页码的变量。然后服务代码接收到这个变量以后,配合上每页显示的记录数去数据库里进行限定位置的查询。
SELECT * from table WHERE ROWNUM>curr*size ROWNUM<=(curr-1)*size
curr代表当前页码变量,size代表每页显示条数。
第2个回答 2013-07-14
翻页功能可以直接用sql存储过程完成(比如一页显示5行数据)
create proc proc_fanye
@id int,
@page int
as
select top(5) *from tabelName where id not in (select top(5*(@page-1)) *from tabelName where id=@id)
proc_fanye 1,1 (查询id=1的 第一页)
proc_fanye 1,2 (查询id=1的 第二页)
·······本回答被网友采纳
第3个回答 2013-07-14
不知道你说的是什么数据库
列举几种数据库,
你只需要根据SQL来传参数就好了
1. ORACLE
SELECT * FROM TABLE1 WHERE ROWNUM<=N
2. DB2
SELECT * ROW_NUMBER() OVER(ORDER BY COL1 DESC) AS ROWNUM WHERE ROWNUM<=N
或者
SELECT COLUMN FROM TABLE FETCH FIRST N ROWS ONLY
3. INFORMIX
SELECT FIRST N * FROM TABLE1
4. SQL SERVER
SELECT TOP N * FROM TABLE1
5. SYBASE
SET ROWCOUNT N
GO
SELECT * FROM TABLE1
6. MYSQL
SELECT * FROM TABLE1 LIMIT N
7. FOXPRO
SELECT * TOP N FROM TABLE ORDER BY COLUMN