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 閱讀(794) 評論(0)  編輯  收藏

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


          網站導航:
           

          常用鏈接

          留言簿(5)

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 西青区| 冷水江市| 盘锦市| 米泉市| 偏关县| 错那县| 文昌市| 景宁| 大余县| 沙洋县| 万全县| 东方市| 祥云县| 温泉县| 屏东市| 平乡县| 新巴尔虎左旗| 合水县| 宁强县| 买车| 和田县| 红原县| 墨竹工卡县| 专栏| 西乌珠穆沁旗| 合山市| 望城县| 新丰县| 鄄城县| 岢岚县| 衡东县| 肃宁县| 永康市| 偏关县| 靖安县| 德州市| 申扎县| 五指山市| 武胜县| 阿图什市| 抚顺县|