亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

ASP.NET和MSSQL高性能分頁

2019-11-14 14:21:07
字體:
來源:轉載
供稿:網友

首先是存儲過程,只取出我需要的那段數據,如果頁數超過數據總數,自動返回最后一頁的紀錄:

set ANSI_NULLS ONset QUOTED_IDENTIFIER ONGO-- =============================================-- Author: Clear-- Description: 高性能分頁-- http://www.49028c.com/roucheng/-- =============================================Alter PROCEDURE [dbo].[Tag_Page_Name_Select]-- 傳入最大顯示紀錄數和當前頁碼    @MaxPageSize int,    @PageNum int,-- 設置一個輸出參數返回總紀錄數供分頁列表使用    @Count int outputASBEGIN    SET NOCOUNT ON;  DECLARE-- 定義排序名稱參數        @Name nvarchar(50),-- 定義游標位置        @Cursor int-- 首先得到紀錄總數  Select @Count = count(tag_Name)    FROM [viewdatabase0716].[dbo].[view_tag];-- 定義游標需要開始的位置    Set @Cursor = @MaxPageSize*(@PageNum-1)+1-- 如果游標大于紀錄總數將游標放到最后一頁開始的位置    IF @Cursor > @Count    BEGIN-- 如果最后一頁與最大每次紀錄數相等,返回最后整頁        IF @Count % @MaxPageSize = 0        BEGIN            IF @Cursor > @MaxPageSize                Set @Cursor = @Count - @MaxPageSize + 1            ELSE                Set @Cursor = 1        END-- 否則返回最后一頁剩下的紀錄        ELSE            Set @Cursor = @Count - (@Count % @MaxPageSize) + 1    END-- 將指針指到該頁開始    Set Rowcount @Cursor-- 得到紀錄開始的位置    Select @Name = tag_Name    FROM [viewdatabase0716].[dbo].[view_tag]    orDER BY tag_Name;-- 設置開始位置    Set Rowcount @MaxPageSize-- 得到該頁紀錄        Select *         From [viewdatabase0716].[dbo].[view_tag]        Where tag_Name >= @Name        order By tag_Name    Set Rowcount 0END

  然后是分頁控件(... 為省略的生成HTML代碼方法):

using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Text;/// <summary>/// 擴展連接字符串/// </summary>public class ExStringBuilder{    private StringBuilder InsertString;    private StringBuilder PageString;    private int PrivatePageNum = 1;    private int PrivateMaxPageSize = 25;    private int PrivateMaxPages = 10;    private int PrivateCount;    private int PrivateAllPage;    public ExStringBuilder()    {        InsertString = new StringBuilder("");    }    /// <summary>    /// 得到生成的HTML    /// </summary>    public string GetHtml    {        get        {            return InsertString.ToString();        }    }    /// <summary>    /// 得到生成的分頁HTML    /// </summary>    public string GetPageHtml    {        get        {            return PageString.ToString();        }    }    /// <summary>    /// 設置或獲取目前頁數    /// </summary>    public int PageNum    {        get        {            return PrivatePageNum;        }        set        {            if (value >= 1)            {                PrivatePageNum = value;            }        }    }    /// <summary>    /// 設置或獲取最大分頁數    /// </summary>    public int MaxPageSize    {        get        {            return PrivateMaxPageSize;        }        set        {            if (value >= 1)            {                PrivateMaxPageSize = value;            }        }    }    /// <summary>    /// 設置或獲取每次顯示最大頁數    /// </summary>    public int MaxPages    {        get        {            return PrivateMaxPages;        }        set        {            PrivateMaxPages = value;        }    }    /// <summary>    /// 設置或獲取數據總數    /// </summary>    public int DateCount    {        get        {            return PrivateCount;        }        set        {            PrivateCount = value;        }    }    /// <summary>    /// 獲取數據總頁數    /// </summary>    public int AllPage    {        get        {            return PrivateAllPage;        }    }    /// <summary>    /// 初始化分頁    /// </summary>    public void Pagination()    {        PageString = new StringBuilder("");//得到總頁數        PrivateAllPage = (int)Math.Ceiling((decimal)PrivateCount / (decimal)PrivateMaxPageSize);//防止上標或下標越界        if (PrivatePageNum > PrivateAllPage)        {            PrivatePageNum = PrivateAllPage;        }//滾動游標分頁方式        int LeftRange, RightRange, LeftStart, RightEnd;        LeftRange = (PrivateMaxPages + 1) / 2-1;        RightRange = (PrivateMaxPages + 1) / 2;        if (PrivateMaxPages >= PrivateAllPage)        {            LeftStart = 1;            RightEnd = PrivateAllPage;        }        else        {            if (PrivatePageNum <= LeftRange)            {                LeftStart = 1;                RightEnd = LeftStart + PrivateMaxPages - 1;            }            else if (PrivateAllPage - PrivatePageNum < RightRange)            {                RightEnd = PrivateAllPage;                LeftStart = RightEnd - PrivateMaxPages + 1;            }            else            {                LeftStart = PrivatePageNum - LeftRange;                RightEnd = PrivatePageNum + RightRange;            }        }//生成頁碼列表統計        PageString.Append(...);        StringBuilder PreviousString = new StringBuilder("");//如果在第一頁        if (PrivatePageNum > 1)        {            ...        }        else        {            ...        }//如果在第一組分頁        if (PrivatePageNum > PrivateMaxPages)        {            ...        }        else        {            ...        }        PageString.Append(PreviousString);//生成中間頁 http://www.49028c.com/roucheng/        for (int i = LeftStart; i <= RightEnd; i++)        {//為當前頁時            if (i == PrivatePageNum)            {                ...            }            else            {                ...            }        }        StringBuilder LastString = new StringBuilder("");//如果在最后一頁        if (PrivatePageNum < PrivateAllPage)        {            ...        }        else        {            ...        }//如果在最后一組        if ((PrivatePageNum + PrivateMaxPages) < PrivateAllPage)        {            ...        }        else        {            ...        }        PageString.Append(LastString);    }    /// <summary>    /// 生成Tag分類表格    /// </summary>    public void TagTable(ExDataRow myExDataRow)    {        InsertString.Append(...);    }

  調用方法:

//得到分頁設置并放入session        ExRequest myExRequest = new ExRequest();        myExRequest.PageSession("Tag_", new string[] { "page", "size" });//生成Tag分頁        ExStringBuilder Tag = new ExStringBuilder();        //設置每次顯示多少條紀錄        Tag.MaxPageSize = Convert.ToInt32(Session["Tag_size"]);        //設置最多顯示多少頁碼        Tag.MaxPages = 9;        //設置當前為第幾頁        Tag.PageNum = Convert.ToInt32(Session["Tag_page"]);        string[][] myNamenValue = new string[2][]{            new string[]{"MaxPageSize","PageNum","Count"},            new string[]{Tag.MaxPageSize.ToString(),Tag.PageNum.ToString()}        };//調用存儲過程        DataTable myDataTable = MySQL.BatchGetDB("Tag_Page_Name_Select", myNamenValue, "Count");        Tag.DateCount = (int)mySQL.OutputCommand.Parameters["@Count"].Value;        Tag.Pagination();        HeadPage.InnerHtml = FootPage.InnerHtml = Tag.GetPageHtml;        for (int i = 0, j = myDataTable.Rows.Count; i < j; i++)        {            Tag.TagTable(new ExDataRow(myDataTable.Rows));        }        TagBox.InnerHtml = Tag.GetHtml;

  


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色小说视频一区| 亚洲自拍偷拍色图| 久久影院资源站| 欧美日韩激情美女| 欧美性视频精品| 久久精品人人做人人爽| 清纯唯美亚洲综合| 日韩欧美在线一区| 亚洲精品视频免费在线观看| 欧美性猛交xxxx乱大交极品| 91免费欧美精品| 欧美大肥婆大肥bbbbb| 伊人激情综合网| 国产精品第一视频| 日韩有码视频在线| 亚洲欧美日韩国产中文| 亚洲综合小说区| 亚洲欧美日韩精品久久亚洲区| 91日韩在线播放| 中文字幕不卡av| 97视频免费观看| 亚洲第一视频在线观看| 中文字幕在线看视频国产欧美| 国产日韩精品在线播放| 91av网站在线播放| 中文字幕日韩欧美精品在线观看| 国模私拍一区二区三区| 国产精品视频永久免费播放| 精品国产乱码久久久久久虫虫漫画| 欧美激情精品久久久| 亚洲天堂免费视频| 俺也去精品视频在线观看| 精品久久久久久久大神国产| 欧美在线一区二区视频| 97免费视频在线| 26uuu亚洲伊人春色| 久久精品人人做人人爽| 国产成人精品一区二区三区| 国产精品999| 亚洲乱亚洲乱妇无码| 亚洲男人av电影| 国产成人一区二区在线| 久久成人人人人精品欧| 亚洲男子天堂网| 一区二区三区高清国产| 日韩在线视频免费观看高清中文| 韩剧1988免费观看全集| 日韩av不卡在线| 国产精品久久久久久久久久东京| 午夜精品久久17c| 2019精品视频| 日韩成人在线视频观看| 韩国精品久久久999| 成人欧美在线视频| 精品国产美女在线| 午夜精品一区二区三区av| 久久久人成影片一区二区三区观看| 色yeye香蕉凹凸一区二区av| 亚洲欧洲在线免费| 亚洲国产精品va在线观看黑人| 日韩av在线免费| 日韩精品免费电影| 4438全国成人免费| 成人乱色短篇合集| 北条麻妃在线一区二区| 社区色欧美激情 | 欧美视频在线看| 久久久视频免费观看| 国产精品视频网| 欧美视频在线观看免费| 在线播放日韩av| 亚洲色图美腿丝袜| 亚洲aa在线观看| 成人午夜激情免费视频| 国产精品电影一区| 中文字幕国产亚洲2019| 欧美在线一级va免费观看| 欧美色图在线视频| 日韩中文字幕在线视频| 国产在线观看91精品一区| 一本大道久久加勒比香蕉| 亚洲va国产va天堂va久久| 欧美在线激情视频| 国产一区二区三区高清在线观看| 一级做a爰片久久毛片美女图片| 欧美一区二区三区免费观看| 91精品国产高清久久久久久91| 午夜精品久久久久久久99热浪潮| 日韩精品视频在线播放| 一区二区在线视频| 日韩精品福利在线| 欧美最顶级丰满的aⅴ艳星| 中文国产成人精品久久一| 欧美日本中文字幕| 日韩毛片在线观看| 国产成人精品久久亚洲高清不卡| 国产欧美精品一区二区三区-老狼| 国产精品三级久久久久久电影| 日产精品99久久久久久| 国产精品视频xxxx| 色午夜这里只有精品| 国产精品视频网址| 亚洲无av在线中文字幕| 日韩在线中文字| 久久精品中文字幕一区| 久久久久北条麻妃免费看| 欧美日韩国产丝袜美女| 另类美女黄大片| 国产欧美一区二区| 精品人伦一区二区三区蜜桃免费| 国产精品444| 国产精品国产自产拍高清av水多| 国产91对白在线播放| 欧美日韩精品二区| 国产中文欧美精品| 久久大大胆人体| 日本精品久久电影| 日韩美女视频在线观看| 久久久久亚洲精品成人网小说| 亚洲美女黄色片| 久久影院在线观看| 亚洲精品自拍视频| 欧美精品在线网站| 欧美国产日韩中文字幕在线| 午夜精品一区二区三区在线播放| 久久免费精品视频| 97在线免费视频| 欧美日韩视频免费播放| 国产精品xxx视频| 国产a级全部精品| 欧美性生交大片免网| 欧美激情videos| 色老头一区二区三区在线观看| 国产v综合ⅴ日韩v欧美大片| 亚洲欧美综合区自拍另类| 欧美插天视频在线播放| 国产精品777| 亚洲欧美激情另类校园| 日韩美女免费视频| 成人自拍性视频| 久久久久久久久久久久av| www.99久久热国产日韩欧美.com| 国产香蕉精品视频一区二区三区| 91亚洲va在线va天堂va国| 日韩电影在线观看永久视频免费网站| 日韩欧美精品免费在线| 菠萝蜜影院一区二区免费| 蜜月aⅴ免费一区二区三区| 欧亚精品中文字幕| 69久久夜色精品国产7777| 欧美夜福利tv在线| 国产视频精品va久久久久久| 欧美日韩aaaa| 成人午夜在线观看| 欧美做受高潮1| 亚洲影院在线看| 日韩av大片在线| 九九久久久久久久久激情| 成年人精品视频| 蜜月aⅴ免费一区二区三区| 久久综合伊人77777尤物| 日韩男女性生活视频| 精品久久久久久亚洲国产300| 欧美国产第一页|