注:需要建立索引
复制代码 代码如下:
/*
经测试,在14483461条记录中查询第100000页,每页10条记录按升序和降序第一次时间均为0.47秒,第二次时间均为0.43秒,测试语法如下:
execGetRecordFromPagenews,newsid,10,100000
news为表名,newsid为关键字段,使用时请先对newsid建立索引。
*/

/*
函数名称:GetRecordFromPage
函数功能:获取指定页的数据
参数说明:@tblName包含数据的表名
@fldName关键字段名
@PageSize每页记录数
@PageIndex要获取的页码
@OrderType排序类型,0-升序,1-降序
@strWhere查询条件(注意:不要加where)
作  者:铁拳
邮  箱:unjianhua_kki@sina.com">sunjianhua_kki@sina.com
创建时间:2004-07-04
修改时间:2004-07-04
*/
CreatePROCEDUREGetRecordFromPage
@tblNamevarchar(255),--表名
@fldNamevarchar(255),--字段名
@PageSizeint=10,--页尺寸
@PageIndexint=1,--页码
@OrderTypebit=0,--设置排序类型,非0值则降序
@strWherevarchar(2000)=''--查询条件(注意:不要加where)
AS

declare@strSQLvarchar(6000)--主语句
declare@strTmpvarchar(1000)--临时变量
declare@strOrdervarchar(500)--排序类型

if@OrderType!=0
begin
set@strTmp="<(selectmin"
set@strOrder="orderby["+@fldName+"]desc"
end
else
begin
set@strTmp=">(selectmax"
set@strOrder="orderby["+@fldName+"]asc"
end

set@strSQL="selecttop"+str(@PageSize)+"*from["
+@tblName+"]where["+@fldName+"]"+@strTmp+"(["
+@fldName+"])from(selecttop"+str((@PageIndex-1)*@PageSize)+"["
+@fldName+"]from["+@tblName+"]"+@strOrder+")astblTmp)"
+@strOrder

if@strWhere!=''
set@strSQL="selecttop"+str(@PageSize)+"*from["
+@tblName+"]where["+@fldName+"]"+@strTmp+"(["
+@fldName+"])from(selecttop"+str((@PageIndex-1)*@PageSize)+"["
+@fldName+"]from["+@tblName+"]where"+@strWhere+""
+@strOrder+")astblTmp)and"+@strWhere+""+@strOrder

if@PageIndex=1
begin
set@strTmp=""
if@strWhere!=''
set@strTmp="where("+@strWhere+")"

set@strSQL="selecttop"+str(@PageSize)+"*from["
+@tblName+"]"+@strTmp+""+@strOrder
end

exec(@strSQL)

GO

更多相关文章

  1. android分页查询获取系统联系人信息
  2. Android入门教程(三十一)------SQLite分页读取
  3. android ListView的分段显示、分页显示(附源码)
  4. android左右滑动加载分页以及动态加载数据
  5. Android(安卓)listview怎么实现滚动分页
  6. Android(安卓)ListView专题之十二 分页不同的解决方案
  7. Android分页控件xlistview
  8. android中滑动SQLite数据库分页加载
  9. Android(安卓)分页组件

随机推荐

  1. Java 数组练习题(1)
  2. cmd命令行能运行java,不能运行javac
  3. 快速排序Java版本
  4. 我什么时候应该关闭实体管理器?
  5. JAVA从入门到精通(2)
  6. ubuntu (16.04) server 英文原版 添加中
  7. Java注解处理器(编译时注解)
  8. Java 8 新特性-菜鸟教程 (3) -Java 8 函
  9. js实现把整数秒转化为"hh:mm:ss"的时间格
  10. Javassist生成class(生成类,方法,字段,注解)