<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        asp.net 結(jié)合mysql存儲過程進行分頁代碼

        來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 22:44:54
        文檔

        asp.net 結(jié)合mysql存儲過程進行分頁代碼

        asp.net 結(jié)合mysql存儲過程進行分頁代碼:不過在網(wǎng)上找了一些,發(fā)現(xiàn)都有一個特點——就是不能傳出總記錄數(shù),干脆自己研究吧。終于,算是搞出來了,效率可能不是很好,但是我也覺得不錯了。貼代碼吧直接:也算是對自己學習mysql的一個記錄。 代碼如下:CREATE PROCEDURE p_pageList ( m_
        推薦度:
        導讀asp.net 結(jié)合mysql存儲過程進行分頁代碼:不過在網(wǎng)上找了一些,發(fā)現(xiàn)都有一個特點——就是不能傳出總記錄數(shù),干脆自己研究吧。終于,算是搞出來了,效率可能不是很好,但是我也覺得不錯了。貼代碼吧直接:也算是對自己學習mysql的一個記錄。 代碼如下:CREATE PROCEDURE p_pageList ( m_

        不過在網(wǎng)上找了一些,發(fā)現(xiàn)都有一個特點——就是不能傳出總記錄數(shù),干脆自己研究吧。終于,算是搞出來了,效率可能不是很好,但是我也覺得不錯了。貼代碼吧直接:也算是對自己學習mysql的一個記錄。
        代碼如下:
        CREATE PROCEDURE p_pageList
        (
        m_pageNo int ,
        m_perPageCnt int ,
        m_column varchar(1000) ,
        m_table varchar(1000) ,
        m_condition varchar(1000),
        m_orderBy varchar(200) ,
        out m_totalPageCnt int
        )
        BEGIN
        SET @pageCnt = 1; -- 總記錄數(shù)
        SET @limitStart = (m_pageNo - 1)*m_perPageCnt;
        SET @limitEnd = m_perPageCnt;
        SET @sqlCnt = CONCAT('select count(1) into @pageCnt from ',m_table); -- 這條語句很關鍵,用來得到總數(shù)值
        SET @sql = CONCAT('select ',m_column,' from ',m_table);
        IF m_condition IS NOT NULL AND m_condition <> '' THEN
        SET @sql = CONCAT(@sql,' where ',m_condition);
        SET @sqlCnt = CONCAT(@sqlCnt,' where ',m_condition);
        END IF;
        IF m_orderBy IS NOT NULL AND m_orderBy <> '' THEN
        SET @sql = CONCAT(@sql,' order by ',m_orderBy);
        END IF;
        SET @sql = CONCAT(@sql, ' limit ', @limitStart, ',', @limitEnd);
        PREPARE s_cnt from @sqlCnt;
        EXECUTE s_cnt;
        DEALLOCATE PREPARE s_cnt;
        SET m_totalPageCnt = @pageCnt;
        PREPARE record from @sql;
        EXECUTE record;
        DEALLOCATE PREPARE record;
        END

        asp.net
        代碼如下:
        /// <summary>
        /// 分頁顯示
        /// </summary>
        /// <param name="conn">連接數(shù)據(jù)庫字符串</param>
        /// <param name="perPage">每頁顯示條數(shù)</param>
        /// <param name="columnList">查詢的字段字符</param>
        /// <param name="tableName">查詢的表名</param>
        /// <param name="condition">where條件(不用寫where)</param>
        /// <param name="orderStr">排序條件(不用寫order by)</param>
        /// <param name="pageInfo">返回頁碼的數(shù)組,0,1,2,3分別為 總記錄集數(shù),總頁數(shù),上一頁,下一頁,4開始為頁碼</param>
        /// <returns>此頁的數(shù)據(jù)記錄集</returns>
        public static DataTable PageList(string conn, int perPage, string url, string columnList, string tableName, string condition, string orderStr, out string[] pageInfo)
        {
        int pageNo = 1; //當前頁碼
        int totalCnt = 1; //記錄集總數(shù)
        int pageCnt = 0; //總頁數(shù)
        DataTable dt = new DataTable(); //用于返回的DataTable
        using (MySqlConnection myConn = new MySqlConnection(conn))
        {
        MySqlDataAdapter adp = new MySqlDataAdapter();
        MySqlCommand cmd = new MySqlCommand();
        if (!string.IsNullOrEmpty(System.Web.HttpContext.Current.Request["pageNo"]))
        {
        try
        {
        pageNo = int.Parse(System.Web.HttpContext.Current.Request["pageNo"].ToString());
        }
        finally
        {
        }
        }//得到當前頁面值
        cmd.Connection = myConn;
        myConn.Open();
        cmd.CommandText = "p_pageList";
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.Add("m_pageNo", MySqlDbType.Int32, 11);
        cmd.Parameters.Add("m_perPageCnt", MySqlDbType.Int32, 11);
        cmd.Parameters.Add("m_column", MySqlDbType.VarChar, 1000);
        cmd.Parameters.Add("m_table", MySqlDbType.VarChar, 1000);
        cmd.Parameters.Add("m_condition", MySqlDbType.VarChar, 1000);
        cmd.Parameters.Add("m_orderBy", MySqlDbType.VarChar, 200);
        cmd.Parameters.Add("m_totalCnt", MySqlDbType.Int32, 11);
        cmd.Parameters["m_pageNo"].Value = pageNo;
        cmd.Parameters["m_perPageCnt"].Value = perPage;
        cmd.Parameters["m_column"].Value = columnList;
        cmd.Parameters["m_table"].Value = tableName;
        cmd.Parameters["m_condition"].Value = condition;
        cmd.Parameters["m_orderBy"].Value = orderStr;
        cmd.Parameters["m_totalCnt"].Direction = ParameterDirection.Output;
        cmd.ExecuteNonQuery();
        adp.SelectCommand = cmd;
        adp.Fill(dt);
        totalCnt = int.Parse(cmd.Parameters["m_totalCnt"].Value.ToString());
        }
        pageCnt = Convert.ToInt32(Math.Ceiling(Convert.ToDouble(totalCnt) / perPage));
        if (pageNo > pageCnt)
        {
        pageNo = pageCnt;
        }//如果當前頁碼大于總頁數(shù),則當前頁為最后一頁
        //處理頁碼地址參數(shù)
        string pageNumLink = string.Empty; //頁碼的鏈接地址
        if (string.IsNullOrEmpty(url.Trim()))
        {
        pageNumLink = "<a href=\"?pageNo=";
        }
        else if (url.IndexOf('?') >= 0)
        {
        pageNumLink = "<a href=\"" + url + "&pageNo=";
        }
        else
        {
        pageNumLink = "<a href=\"" + url + "?pageNo=";
        }
        //上一頁,下一頁字符串賦值
        string abovePage = pageNumLink + (pageNo-1).ToString()+ "\">上一頁</a>";
        string nextPage = pageNumLink + (pageNo + 1).ToString() + "\">下一頁</a>";
        if (pageNo == 1)
        {
        abovePage = string.Empty;
        }//如果當前頁為第一頁,則不顯示“上一頁”字符串
        if (pageNo == pageCnt)
        {
        nextPage = string.Empty;
        }//如果當前頁為最后一頁,則不顯示“下一頁”字符串
        pageInfo = new string[14];
        pageInfo[0] = totalCnt.ToString(); //顯示記錄集總數(shù)
        pageInfo[1] = pageCnt.ToString(); //顯示總頁數(shù)
        pageInfo[2] = abovePage; //顯示上一頁
        pageInfo[3] = nextPage; //顯示下一頁
        int startIndex;
        int endIndex;
        startIndex = (pageNo / 10) * 10 + 1; //起始頁
        if (pageNo % 10 == 0)
        {
        startIndex = startIndex - 10;
        }
        endIndex = startIndex + 9; //結(jié)束頁
        if (endIndex > pageCnt)
        {
        endIndex = pageCnt;
        }//如果結(jié)束頁大于總頁數(shù),則結(jié)束頁為最后一頁值
        int pageIndex = 4;
        for (int i = startIndex; i <= endIndex; i++)
        {
        string pageValue = pageNumLink + i.ToString() + "\">" + i.ToString() + "</a>";
        if (i == pageNo)
        {
        pageValue = i.ToString();
        }
        pageInfo[pageIndex] = pageValue;
        pageIndex++;
        }
        return dt;
        }

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        asp.net 結(jié)合mysql存儲過程進行分頁代碼

        asp.net 結(jié)合mysql存儲過程進行分頁代碼:不過在網(wǎng)上找了一些,發(fā)現(xiàn)都有一個特點——就是不能傳出總記錄數(shù),干脆自己研究吧。終于,算是搞出來了,效率可能不是很好,但是我也覺得不錯了。貼代碼吧直接:也算是對自己學習mysql的一個記錄。 代碼如下:CREATE PROCEDURE p_pageList ( m_
        推薦度:
        標簽: 代碼 mysql as
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 日韩免费无码一区二区三区| 久久国产精品免费观看| 卡一卡二卡三在线入口免费| 亚洲一卡二卡三卡| 成人免费视频77777| 亚洲午夜无码久久| 手机看片久久国产免费| 国产亚洲精品国产福利在线观看| 国产精品久免费的黄网站| 久久亚洲精品11p| 亚洲国产主播精品极品网红| 国产成人无码精品久久久久免费| 在线亚洲午夜理论AV大片| 久久免费区一区二区三波多野| 蜜芽亚洲av无码精品色午夜| AV大片在线无码永久免费| 国产成+人+综合+亚洲专| 国产精品成人四虎免费视频| 日韩久久无码免费毛片软件| 亚洲日韩aⅴ在线视频| 16女性下面无遮挡免费| 亚洲高清毛片一区二区| 亚洲国产一区二区三区| 久久久久久AV无码免费网站下载| 亚洲国产成人九九综合| 在线观看亚洲免费| 免费看无码特级毛片| tom影院亚洲国产一区二区| 免费**毛片在线播放直播 | 亚洲成在人线在线播放无码| www.亚洲精品| 日韩在线不卡免费视频一区| 亚洲精品无码mⅴ在线观看| 亚洲av麻豆aⅴ无码电影 | 成人一a毛片免费视频| 一级毛片在线完整免费观看| 亚洲精品视频在线免费| 又大又黄又粗又爽的免费视频 | 国产亚洲AV无码AV男人的天堂| 无码区日韩特区永久免费系列 | 免费观看亚洲人成网站|