·天新网首页·加入收藏·设为首页·网站导航
数码笔记本手机摄像机相机MP3MP4GPS
硬件台式机网络服务器主板CPU硬盘显卡
办公投影打印传真
家电电视影院空调
游戏网游单机动漫
汽车新车购车试驾
下载驱动源码
学院开发设计
考试公务员高考考研
业界互联网通信探索
您现在的位置:天新网 > 软件开发 > Web开发 > ASP开发
MS-SQL 分页函数+ASP
http://www.21tx.com 2009年06月04日

1 2 3 4 下一页

  CREATE PROCEDURE [dbo].[USP_GetList]

  (

  @pageIndex int = 1 -- 当前页码0 表示返回所有符合内容

  ,@pageSize int = 10 -- 页尺寸

  ,@SID nvarchar(30) = '' -- 主键字段

  ,@strGetField nvarchar(1000) = '*' -- 需要返回的列

  ,@strTableName nvarchar(30) = '' --表名

  ,@strWhere nvarchar(2000) = '' -- 查询条件(注意: 条件中要带where)

  ,@strOrderBy nvarchar(300) = '' -- 排序

  --,@MemberID int=0 --会员ID

  )

  AS

  SET NOCOUNT ON

  DECLARE @strSQL nvarchar(4000)

  DECLARE @startPos int

  DECLARE @endPos int

  DECLARE @num int

  SET @startPos=@pageSize*(@pageIndex-1)+1

  SET @endPos=@startPos+@pageSize-1

  --页大小*(页数-1)

  SET @num = @pageSize * (@PageIndex - 1)

  IF @PageIndex!=0

  BEGIN

  IF @strWhere != ''

  SET @strSQL = 'SELECT TOP '+ cast(@pageSize as nvarchar(10)) +' '+ @strGetField +' FROM '+ @strTableName +' WHERE ('+ cast(@SID as nvarchar(30)) +' NOT IN (SELECT TOP '+ cast(@num as nvarchar(20)) +' '+ cast(@SID as nvarchar(30)) +' FROM '+ @strTableName +' where '+@strWhere+' ORDER BY '+ cast(@strOrderBy as nvarchar(255)) +' )) and '+@strwhere+' ORDER BY '+cast(@strOrderBy as varchar(255)) + ''

  else

  SET @strSQL = 'SELECT TOP '+ cast(@pageSize as nvarchar(10)) +' '+ @strGetField +' FROM '+ @strTableName +' WHERE ('+ cast(@SID as nvarchar(30)) +' NOT IN (SELECT TOP '+ cast(@num as nvarchar(20)) +' '+ cast(@SID as nvarchar(30)) +' FROM '+ @strTableName +' ORDER BY '+ cast(@strOrderBy as nvarchar(255)) +' )) ORDER BY '+ cast(@strOrderBy as varchar(255)) + ''

上一篇: 一个让人遗忘的角落—Exception(三)
下一篇: 一个让人遗忘的角落—Exception(二)

1 2 3 4 下一页

关于我们 | 联系我们 | 加入我们 | 广告服务 | 投诉意见 | 网站导航
Copyright © 2000-2011 21tx.com, All Rights Reserved.
晨新科技 版权所有 Created by TXSite.net