• 读取表内容 分页返回其读取的值


     

     


    CREATE PROCEDURE DS_GetDataList
     (
      @tblName varchar(255) = '', -- 表名
      @strGetFields varchar(1000) = '*', -- 需要返回的列
      @fldName varchar(255) = 'ReleaseDate', -- 排序的字段名
      @PageSize int = 10, -- 页尺寸
      @PageIndex int = 1, -- 页码
      @RecordCount int output, --输出记录总数
      @OrderType bit = 1, -- 设置排序类型, 非 0 值则降序
      @strWhere varchar(1500) = '' -- 查询条件 (注意: 不要加 where)
     )
    AS
     declare @strSQL varchar(5000) -- 主语句
     declare @CountSQL nvarchar(4000) -- 语句
     declare @strTmp varchar(1000) -- 临时变量
     declare @strOrder varchar(1000) -- 排序类型

     if @strWhere !=''
      set @CountSQL='select @RecordCount=count(*) from  [' + @tblName + '] where ' + @strWhere +''
     else
      set @CountSQL='select @RecordCount=count(*) from  [' + @tblName + '] '
     
     exec sp_executesql @CountSQL, N'@RecordCount int out ',@RecordCount out

     if @OrderType != 0
      begin
       set @strTmp = '<(select min'
       set @strOrder = ' order by '+ @fldName +' desc'
      end
     else
      begin
       set @strTmp = '>(select max'
       set @strOrder = ' order by '+ @fldName +' asc'
      end
     
     if @PageIndex = 1
      begin
       if @strWhere != ''
        set @strSQL = 'select top '+ str(@PageSize) +' '+ @strGetFields +' from ['+ @tblName +'] where ('+ @strWhere +') '+ @strOrder
       else
        set @strSQL = 'select top '+ str(@PageSize) +' '+ @strGetFields +' from ['+ @tblName +'] '+ @strOrder
      end
     else
      begin
       set @strSQL = 'select top '+ str(@PageSize) +' '+ @strGetFields +' from ['+ @tblName +'] where '+ @fldName +''+ @strTmp +'('+ @fldName +') from (select top '+ str((@PageIndex-1)*@PageSize) +' '+ @fldName +' from ['+ @tblName +']'+ @strOrder +') as tblTmp)'+ @strOrder

       if @strWhere != ''
        set @strSQL = 'select top '+ str(@PageSize) +' '+ @strGetFields +' from ['+ @tblName +'] where '+ @fldName +''+ @strTmp +'('+ @fldName +') from (select top '+ str((@PageIndex-1)*@PageSize) +' '+ @fldName +' from ['+ @tblName +'] where ('+ @strWhere +') '+ @strOrder +') as tblTmp) and '+ @strWhere +' '+ @strOrder
      end

     exec (@strSQL)


    GO

  • 相关阅读:
    fastjson对象,JSON,字符串,map之间的互转
    bootstrap的页面刷新以及模态框的清空
    change 和 propertychange 事件监听input 并发起ajax请求
    jquery 获取和设置select的option值
    Mybatis中使用@Select注解进行模糊查询,使用concat关键字
    mysql 获取表字段及注释
    SpringBoot 在IDEA中实现热部署
    jquery与css控制元素的隐藏和显示的几种方法
    Java8 stream的详细用法
    FATAL ERROR: Could not find ./bin/my_print_defaults 解决方法
  • 原文地址:https://www.cnblogs.com/zyosingan/p/1015347.html
Copyright © 2020-2023  润新知