乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      分頁(yè)查詢

       aaie_ 2013-04-29

      --分頁(yè)查詢數(shù)據(jù)

      --調(diào)用 sp_ShowPageQ 'TFetchData','id',0,'*',200,2,'fetchdt > ''2008-10-22'''

      CREATE    PROCEDURE   sp_ShowPageQ

          @strTable       varchar(50),   --表名

          @strColumn      varchar(50),   --按該列來(lái)進(jìn)行分頁(yè)

          --@intColType     int,           --@strColumn列的類型,0-數(shù)字類型,1-字符類型,2-日期時(shí)間類型

          @intOrder       int,           --排序,0-順序,1-倒序

          @strColumnlist  varchar(800),  --要查詢出的字段列表,*表示全部字段

          @intPageSize    int,           --每頁(yè)記錄數(shù)

          @intPageNum     int,           --指定頁(yè)

          @strWhere       varchar(800)   --查詢條件

          --@intRecordCount int,           --總記錄數(shù)

          --@intPageCount   int            --總頁(yè)數(shù) 

       

        AS

       

        DECLARE   @sql    nvarchar(4000) --用于構(gòu)造SQL語(yǔ)句

        DECLARE   @where1 varchar(800)   --構(gòu)造條件語(yǔ)句

        DECLARE   @where2 varchar(800)   --構(gòu)造條件語(yǔ)句

        DECLARE   @intRecordCount int    --總記錄數(shù)

        DECLARE   @intPageCount int      --總頁(yè)數(shù)

       

        IF   @strWhere   is   null   or   rtrim(@strWhere)=''

        -- 為了避免SQL關(guān)鍵字與字段、表名等連在一起,首先為傳入的變量添加空格

       

        BEGIN  --沒(méi)有查詢條件

            SET   @where1=' WHERE '  

            SET   @where2=' '  

        END  

        ELSE   

        BEGIN  --有查詢條件 

            SET   @where1=' WHERE  ('+@strWhere+')  AND  '

            SET   @where2=' WHERE  ('+@strWhere+')  '  

        END

       

       

        set @strColumn = ' ' + @strColumn + ' '

        set @strColumnlist = ' ' + @strColumnlist + ' '

       

        --構(gòu)造SQL語(yǔ)句,計(jì)算總頁(yè)數(shù)。計(jì)算公式為 總頁(yè)數(shù) = Ceiling ( 記錄個(gè)數(shù) / 頁(yè)大小 )

        SET   @sql='SELECT   @intPageCount=CEILING((COUNT(*)+0.0)/'

              + CAST(@intPageSize   AS   varchar)

              + ')   FROM   ' + @strTable + @where2

       

        --執(zhí)行SQL語(yǔ)句,計(jì)算總頁(yè)數(shù),并將其放入@intPageCount變量中

        EXEC sp_executesql  @sql,N'@intPageCount int OUTPUT',@intPageCount OUTPUT

       

       

        --計(jì)算記錄數(shù) @intRecordCount

        SET   @sql='SELECT   @intRecordCount=COUNT(*) FROM   ' + @strTable + @where2

        --執(zhí)行SQL語(yǔ)句,計(jì)算記錄數(shù),并將其放入@intRecordCount 變量中

       

        EXEC sp_executesql  @sql,N'@intRecordCount  int OUTPUT',@intRecordCount OUTPUT

       

       

        --將總頁(yè)數(shù)放到查詢返回記錄集的第一個(gè)字段前,此語(yǔ)句可省略

        SET  @strColumnlist= ' '+Cast(@intPageCount as varchar(30)) + ' as PageCount,'+

                              Cast(@intRecordCount as varchar(30)) + ' as RecordCount,' + @strColumnlist  

       

        IF   @intOrder=0   --構(gòu)造升序的SQL

       

            SET @sql='SELECT TOP '+ CAST(@intPageSize   AS   varchar)  +

                     @strColumnlist +  

                     ' FROM ' + @strTable + @where1 +

                     @strColumn + '>(SELECT MAX('+@strColumn+')  '+  

                     ' FROM (SELECT TOP '+ CAST(@intPageSize*(@intPageNum - 1)  AS  varchar) +  

                     @strColumn + ' FROM '+ @strTable+@where2+'ORDER  BY '+@strColumn+')  t)  ORDER  BY '+ @strColumn  

       

        ELSE              --構(gòu)造降序的SQL

       

            SET @sql='SELECT TOP '+ CAST(@intPageSize   AS   varchar)  +

                     @strColumnlist+  

                     ' FROM '+ @strTable + @where1 +

                     @strColumn + '<(SELECT   MIN('+@strColumn+')   '+  

                     ' FROM (SELECT TOP '+ CAST(@intPageSize*(@intPageNum - 1)  AS  varchar) +  

                     @strColumn + ' FROM '+ @strTable+@where2+'ORDER   BY '+@strColumn+'   DESC)   t)   ORDER   BY   '+  

                     @strColumn + ' DESC'       

       

       

        IF   @intPageNum=1--第一頁(yè)

       

            SET   @sql='SELECT   TOP   '+CAST(@intPageSize   AS   varchar) + @strColumnlist + ' FROM '+@strTable+  

                       @where2+'ORDER   BY   '+@strColumn+CASE   @intOrder WHEN  0 THEN  ''  ELSE  '  DESC' 

       

       

        END  

        --PRINT   @sql  

       

        EXEC(@sql)  

       

       

       

       

      GO

       

        CREATE  procedure PaginationQuery        

        @p_selectSQL   nvarchar(4000), --要執(zhí)行的sql語(yǔ)句  

        @p_curPage   int=1 out,   --要顯示的頁(yè)碼  

        @p_pageSize   int=20, --每頁(yè)的大小  

        @p_totalRecords   int=0   out, --記錄數(shù)  

        @p_totalPages   int=0   out --總頁(yè)數(shù)  

        as  

        set nocount on  

        declare  

           @p1 int,

           @tmpCur int  

       

        exec sp_cursoropen @p1 output,@p_selectSQL,@scrollopt=1,@ccopt=1,@rowcount=@p_totalPages output  

        if @p_curPage<1

          set @p_curPage=1

        if @p_curPage*@p_pageSize>@p_totalPages

          set @p_curPage=ceiling(1.0*@p_totalPages/@p_pageSize)

        select @tmpCur=@p_curPage

       

        select @p_totalRecords=@p_totalPages+1,@p_totalPages=ceiling(1.0*@p_totalPages/@p_pageSize),@p_curPage=(@p_curPage-1)*@p_pageSize+1      

        exec   sp_cursorfetch   @p1,16,@p_curPage,@p_pageSize    

        select @p_curPage=@tmpCur

        exec   sp_cursorclose   @p1  

        set nocount off

       

      GO

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多