一段实现分页的存储过程

None.gif
None.gif
Declare @PageSize int
None.gif
set @PageSize=8
None.gif
Declare @PageIndex int
None.gif
set @PageIndex=1
None.gif
--定义输出的参数
None.gif
Declare @RecoundCount int
None.gif
Declare @DateEof Bit  --output,--返回数据,是否溢出
None.gif
Declare @PageCount int  --output--返回数据:总页数
None.gif

None.gif
Declare @TempResult varchar(1000)
None.gif
Declare @OrderCommand varchar(1000)
None.gif
Set @TempResult = 'Select * From dbo.Info_ProductInfo where Display=1 And Audting=0'
None.gif
None.gif
None.gif
Declare @GetRCountSumStr nvarchar(1500)
None.gif
Set @GetRCountSumStr = 'Select  @RecoundCount = Count(*) From (' + @TempResult + ') as t'
None.gif
Exec sp_executesql @GetRCountSumStr,N'@RecoundCount int output',@RecoundCount output
None.gif
None.gif  
None.gif  
None.gif     
Declare @ResultMod int
None.gif     
Set @ResultMod = @RecoundCount % @PageSize
None.gif     
If @ResultMod = 0
None.gif        
Set @PageCount = @RecoundCount / @PageSize
None.gif      
Else
None.gif        
Set @PageCount = (@RecoundCount / @PageSize+ 1
None.gif     
Set @DateEof = 0
None.gif     
If @PageIndex < 1
None.gif        
Set @PageIndex = 1
None.gif
None.gif     
if @PageIndex > @PageCount
None.gif        
Set @PageIndex = @PageCount
None.gif
None.gif     
Declare @GetProductAuditingList varchar(3000)
None.gif     
Declare @indextable table(id int identity(1,1),PId int)
None.gif     
None.gif     
--'Insert Into @indextable(PId)' + @TempResult
None.gif
     
None.gif
None.gif     
Set @GetProductAuditingList =('
None.gif     Declare @indextable table(id int identity(1,1),SysId int)
None.gif     Insert Into @indextable(SysId) Select SysId From (
' + @TempResult + ') as t 
None.gif     Select P.*,u.UserName,C.CCnName,T.Id From @indextable as T,dbo.Info_UserInfo As u,Info_CompanyInfo as C,dbo.Info_ProductInfo as p Where Id > 
' + cast((@PageSize * @PageIndex- @PageSize as varchar(10)) + ' And Id <= ' + cast((@PageSize * @PageIndexas varchar(10)) + 
None.gif     
'And P.SysId = T.SysId And p.UserId=u.SysId and P.CompanyId=C.SysID Order By T.Id')
None.gif
None.gif
None.gif
None.gif     
Exec(@GetProductAuditingList)
None.gif  
None.gif
None.gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值