高效率jsp+mssql預存程序通用資料庫分頁

來源:互聯網
上載者:User

高效率jsp教程+mssql預存程序通用資料庫教程分頁

CREATE   PROCEDURE   Ture_Page

        @PageSize         int,                 --每頁的行數
        @PageIndex         int,                 --1   代表第一頁
        @Col                 varchar(200),         --要顯示的欄位
        @Table                 varchar(200),         --所用到的表,複條的話就寫from與where之間的內容
        @Where         varchar(200)= ' ',         --所用到的條件
        @OKey                 varchar(50),         --排序欄位
        @Order                 varchar(20)= 'ASC '         --排序方式

as
  declare   @cmdstr   varchar(2000)
  set   nocount   on
               
                set   @cmdstr= 'select   top   '
                set   @cmdstr=@cmdstr+convert(nvarchar,@PageSize)
                if   @Order= 'DESC '   and   @PageIndex> 1
  set   @cmdstr=@cmdstr+ '   '+@Col+ '   from   '+@Table+ '   where   '+@OKey+ ' < '
                else   if   @PageIndex=1
  set   @cmdstr=@cmdstr+ '   '+@Col+ '   from   '+@Table+ '   where   '+@OKey+ '> = '
                else
  set   @cmdstr=@cmdstr+ '   '+@Col+ '   from   '+@Table+ '   where   '+@OKey+ '> '
                if   @PageIndex> 1
                    begin
    if   @Order= 'ASC '
                          set   @cmdstr=@cmdstr+ '(select   max   ( '+@OKey+ ')   from   (select   top   '
  else
                set   @cmdstr=@cmdstr+ '(select   min   ( '+@OKey+ ')   from   (select   top   '  
                        set   @cmdstr=@cmdstr+convert(nvarchar,(@PageIndex-1)*@PageSize)
                        set   @cmdstr=@cmdstr+ '   '+@OKey+ '   from   '+@Table+ '   order   by   '+@OKey+ '   '+@Order+ ')   as   t)   '
                    end
                else
                    set   @cmdstr=@cmdstr+ '0   '
                if   @Where <> ' '
                        set   @cmdstr=(@cmdstr+ '   and   '+@Where+ '   order   by   '+@OKey+ '   '+@Order)
                else
                        set   @cmdstr=(@cmdstr+ 'order   by   '+@OKey+ '   '+@Order)
               
  print   @cmdstr
                exec(@cmdstr)
        set   nocount   off
GO %>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.