Create PROCEDURE [dbo].[proc_DataPages]
           @TableNames VARCHAR(200),     --表名,可以是多個表,但不能用別名
           @PrimaryKey VARCHAR(100),     --主鍵,可以為空,但@Order為空時該值不能為空
           @Fields     VARCHAR(800),         --要取出的字段,可以是多個表的字段,可以為空,為空表示select *
           @PageSize INT,             --每頁記錄數
           @CurrentPage INT,         --當前頁,0表示第1頁
           @Filter VARCHAR(200) = '',     --條件,可以為空,不用填 where
           @Order VARCHAR(200) = '',     --排序,可以為空,為空默認按主鍵升序排列,不用填 order by
           @RecountCount int=0 output
          AS
          BEGIN
          /*

          declare @RecountCount int

          exec [proc_DataPages]
          @TableNames='DE_Dict',
          @PrimaryKey='',
          @Fields='*',
          @PageSize=10,
          @CurrentPage=1,
          @Filter='',
          @Order='DictOrder desc',
          @RecountCount=@RecountCount output
          print @RecountCount

          */
          set nocount on;
          declare @topRow varchar(12)
          declare @tempPageSize varchar(12)

          if(len(@Order)>0)
          begin
           set @Order=' order by '+@Order
          end
          else
          begin
           set @Order=' order by '+@PrimaryKey
          end
          if (len(@Filter)<1)
          begin
           set @Filter=' 1=1'
          end
          if(@CurrentPage-1<=0)
          set @CurrentPage=0

          set @topRow= rtrim(ltrim(str(@PageSize*(@CurrentPage-1))))
          set @tempPageSize= rtrim(ltrim(str(@PageSize)))

          exec('set rowcount '+@tempPageSize+'select * from (select row_number() over ('+@Order+') rownumber,'+@Fields+' from '+@TableNames+' where '+@Filter+') tempTable where rownumber>'+@topRow+'set rowcount 0')

          /*計算總頁數*/
          declare @sql nvarchar(max)
          set @sql='select @RecountCount=count(1) from '+@TableNames+' where '+@Filter
          set @RecountCount=0
          exec sp_executesql @sql,N'@RecountCount int output',@RecountCount=@RecountCount output

          set nocount off;

          end

          posted on 2014-03-17 15:32 sanmao 閱讀(786) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          常用鏈接

          留言簿(5)

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 清丰县| 万安县| 东兰县| 雷波县| 彩票| 达尔| 察哈| 胶州市| 峡江县| 台南县| 保康县| 中卫市| 秦皇岛市| 六盘水市| 青田县| 洛宁县| 封丘县| 美姑县| 八宿县| 拉孜县| 庄浪县| 台南市| 壤塘县| 保山市| 醴陵市| 朝阳县| 固原市| 大足县| 无为县| 永宁县| 康马县| 延寿县| 丹寨县| 南安市| 南木林县| 凤台县| 钦州市| 锡林郭勒盟| 天等县| 启东市| 东莞市|