复制代码 代码如下:
/*
数据库分页存储过程,支持倒序和升序
参数说明:
@tablename:为搜索表名
@tablefield:为表的字段,约定为表的主键,
@where:为搜索表名,要显示所有记录请设为"1=1"
@orderby:为搜索结果排序,如orderbyiddesc
@fieldlist:为字段列表,如userid,username
@curpage:当前页码
@page_record:每页记录条数
@Sort:排序标识(如果是倒序排,参数值为desc,为升序,参数值为asc,跟orderby参数是对应的)
结果:返回表tablename中满足条件where的第curpage页的page_record条记录,结果按orderby排序
*/
CREATEPROCEDUREproc_CommonPaging

@tablenamevarchar(100),
@tablefieldvarchar(20),
@wherevarchar(5000),
@orderbyvarchar(500),
@fieldlistvarchar(1000),
@curpageint,
@page_recordint,
@sortvarchar(8)

AS

BEGIN

DECLARE@cmdvarchar(8000)
DECLARE@uprecordint
DECLARE@Opvarchar(2)--操作符
DECLARE@max_minvarchar(4)--最大/最小计算

SET@op='<'
SET@max_min='MIN'
IF@sort='asc'
BEGIN
SET@Op='>'
SET@max_min='MAX'
END

SET@uprecord=@curpage*@page_record

IF@curpage=0
SET@cmd='SELECTTOP'+cast(@page_recordASNVARCHAR)+''+@fieldlist+'FROM'+@tablename+'WHERE'+@where+''+@orderby
ELSE
SET@cmd='SELECTTOP'+cast(@page_recordASNVARCHAR)+''+@fieldlist+'FROM'+@tablename+'WHERE'+@where+'AND'+@tablefield+'
'+@op+'(SELECT'+@max_min+'('+@tablefield+')FROM(SELECTTOP'+cast(@uprecordASNVARCHAR)+''+@tablefield+'FROM'+@tablename+'WHERE
'+@where+''+@orderby+')ASTmpTbl)AND'+@where+''+@orderby

SET@cmd=@cmd+';SELECTCOUNT(*)FROM'+@tablename+'WHERE'+@where

EXEC(@cmd)
PRINT(@cmd)

END
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. Android取得系统信息和分辨率内存信息
  2. 删除android ScrollView边界阴影方法
  3. Android ListView二三事
  4. Android_linux下android platforms下载地
  5. android之wifi移植全过程(一)
  6. Android资源下载
  7. 2011.07.08(2)——— android 背景模糊
  8. Android 使用Telephony API
  9. android用于打开各种文件的intent
  10. Android : 继承BaseAdapter对ListView进