Microsoft SqlServer 7.0, Microsoft SqlServer 2000, MS SQL Server 2000 Desktop Engine (MSDE 2000), Microsoft SqlServer 2005, SQL Server 2005 Express Edition
MSSqlServerCE
Microsoft SqlServer 2005 Mobile, Microsoft SqlServer 2005 Everywhere Edition CTP
2、利用数据库的关键字和算法
在SQLSERVER和ORACLE中,可以利用一些特殊的关键字和算法(SQL)来实现分页功能。
1)在SQLSERVER中,可以利用TOP关键字来实现分页功能,例如以下SQL就能实现分页算法:
select top [pagesize] *
from table
where id not in
( select top [pagesize*(currentpage-1)] id from table [查询条件] order by id )
and [查询条件]
order by id
2)在ORACLE中可以利用ROWNUM关键字来实现分页算法,例如以下分页算法:
SELECT *
FROM ( SELECT row_.*, rownum rownum_
FROM (...... ) row_
WHERE rownum <= ?)
WHERE rownum_ > ?
3)在MYSQL中利用LIMIT关键字来实现分页算法,例如以下分页算法:
select *
from table [查询条件]
order by id limit ?,?
优点:1)能完全实现功能需求;
2)效率高,资源占用少。
缺点:1)实现比较复杂,需要针对不的数据库设计不同的SQL来实现。
结论:对于我们的表格分页编辑需求,虽然会增加一定的编程工作量,但这种实现方案是最合适的。