alter PROCEDURE Pages
          @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
          @ResultCount varchar(24)-------顯示的結果總數
          AS
          BEGIN
          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
          if(len(rtrim(ltrim(@ResultCount)))>0)
          set @ResultCount='set rowcount '+ltrim(rtrim(@ResultCount))
          set @topRow= rtrim(ltrim(str(@PageSize*(@CurrentPage-1))))
          set @tempPageSize= rtrim(ltrim(str(@PageSize)))
          exec('SET NOCOUNT ON '+'
          '+@ResultCount+'
          set rowcount '+@tempPageSize+'
          select * from (select row_number() over ('+@Order+') rownumber,'+@Fields+' from '+@TableNames+' where '+@Filter+') tempTable where rownumber>'+@topRow+'
          set rowcount 0')
          end
          posted on 2009-02-12 17:39 sanmao 閱讀(694) 評論(0)  編輯  收藏

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


          網站導航:
           

          常用鏈接

          留言簿(5)

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 华坪县| 涟源市| 台湾省| 淳化县| 林口县| 郧西县| 和林格尔县| 新田县| 扶风县| 卫辉市| 黔东| 自治县| 桑日县| 阜宁县| 旌德县| 万载县| 普格县| 始兴县| 章丘市| 涡阳县| 锡林郭勒盟| 万载县| 中西区| 东丽区| 凤冈县| 宾阳县| 商水县| 大丰市| 晋宁县| 湘阴县| 铁岭县| 平果县| 漾濞| 古田县| 司法| 准格尔旗| 龙陵县| 泾阳县| 玉屏| 柯坪县| 柳河县|