nbgcqlk

alter PROCEDURE [dbo].[CommonPage]( 
    @tblName      varchar(255),--表名       
    @OrderName      varchar(20),--主键,排序 
    @FldName        varchar(255)=\'*\',  --显示的字段  
    @PageSize     int = 10,    --页码       
    @PageIndex    int = 1,     --当前页       
    @OrderType    bit = 0,     --排序类型 
    @strWhere     varchar(2000) = \'\' --查询条件
 )       
AS 
declare @rowCount int 
declare @strSQL   nvarchar(3000)        
declare @strTmp   varchar(1000)        
declare @strOrder varchar(500)         
if @OrderType != 0 
begin 
    set @strTmp = \'<(select min\' 
    set @strOrder = \' order by [\' + @OrderName + \'] desc\' 
end 
else 
begin 
    set @strTmp = \'>(select max\' 
    set @strOrder = \' order by [\' + @OrderName +\'] asc\' 
end  
set @strSQL = \'select top \' + str(@PageSize) + @FldName+\' from [\' 
    + @tblName + \'] where [\' + @OrderName + \']\' + @strTmp + \'([\' 
    + @OrderName + \']) from (select top \' + str((@PageIndex-1)*@PageSize) + \' [\' 
    + @OrderName + \'] from [\' + @tblName + \']\' + @strOrder + \') as tblTmp)\' 
    + @strOrder  
if @strWhere != \'\' 
    set @strSQL = \'select top \' + str(@PageSize) + @FldName+\' from [\' 
        + @tblName + \'] where [\' + @OrderName + \']\' + @strTmp + \'([\' 
        + @OrderName + \']) from (select top \' + str((@PageIndex-1)*@PageSize) + \' [\' 
        + @OrderName + \'] from [\' + @tblName + \'] where \' + @strWhere + \' \' 
        + @strOrder + \') as tblTmp) and \' + @strWhere + \' \' + @strOrder 
if @PageIndex = 1 
begin 
    set @strTmp = \'\' 
    if @strWhere != \'\' 
        set @strTmp = \' where (\' + @strWhere + \')\' 
 
    set @strSQL = \'select top \' + str(@PageSize) + @FldName+\' from [\' 
        + @tblName + \']\' + @strTmp + \' \' + @strOrder 
end 

if @strWhere!=\'\'
set @strSQL =@strSQL+ \' select @total=count(*) from [\' + @tblName + \'] where \'+@strWhere
else
set @strSQL =@strSQL+ \' select @total=count(*) from [\' + @tblName + \']\'

--print @strSQL
exec sp_executesql @strSQL,N\'@total int output\',@rowCount output
GO

分类:

技术点:

相关文章:

  • 2021-08-05
  • 2021-12-17
  • 2022-12-23
  • 2022-01-27
  • 2021-07-16
  • 2021-12-04
  • 2022-12-23
  • 2022-02-07
猜你喜欢
  • 2021-05-22
  • 2022-12-23
  • 2021-08-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-29
  • 2022-12-23
相关资源
相似解决方案