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

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

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專(zhuān)題視頻專(zhuān)題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專(zhuān)題1關(guān)鍵字專(zhuān)題50關(guān)鍵字專(zhuān)題500關(guān)鍵字專(zhuān)題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關(guān)鍵字專(zhuān)題關(guān)鍵字專(zhuān)題tag2tag3文章專(zhuān)題文章專(zhuān)題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專(zhuān)題3
        問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
        當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

        ASP.NET技巧:access下的分頁(yè)方案

        來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:45:50
        文檔

        ASP.NET技巧:access下的分頁(yè)方案

        ASP.NET技巧:access下的分頁(yè)方案:具體不多說(shuō)了,只貼出相關(guān)源碼~using System;using System.Collections.Generic;using System.Text;using System.Data;using System.Data.OleDb;using System.Web;/**//// <summary>/// 名稱(chēng):acces
        推薦度:
        導(dǎo)讀ASP.NET技巧:access下的分頁(yè)方案:具體不多說(shuō)了,只貼出相關(guān)源碼~using System;using System.Collections.Generic;using System.Text;using System.Data;using System.Data.OleDb;using System.Web;/**//// <summary>/// 名稱(chēng):acces

        具體不多說(shuō)了,只貼出相關(guān)源碼~

        using System;
        using System.Collections.Generic;
        using System.Text;
        using System.Data;
        using System.Data.OleDb;
        using System.Web;

        /**//// <summary>
        /// 名稱(chēng):access下的分頁(yè)方案(仿sql存儲(chǔ)過(guò)程)
        /// 作者:cncxz(蟲(chóng)蟲(chóng))
        /// blog:http://cncxz.cnblogs.com
        /// </summary>
        public class AdoPager
        {
            protected string m_ConnString;
            protected OleDbConnection m_Conn;

            public AdoPager()
            {
                CreateConn(string.Empty);
            }
            public AdoPager(string dbPath)
            {
                CreateConn(dbPath);
            }

            private void CreateConn(string dbPath)
            {
                if (string.IsNullOrEmpty(dbPath))
                {
                    string str = System.Configuration.ConfigurationManager.AppSettings["dbPath"] as string;
                    if (string.IsNullOrEmpty(str))
                        str = "~/App_Data/db.mdb";
                    m_ConnString = string.Format(@"Provider=Microsoft.Jet.OLEDB.4.0;Data source={0}", HttpContext.Current.Server.MapPath(str));
                }
                else
                    m_ConnString = string.Format(@"Provider=Microsoft.Jet.OLEDB.4.0;Data source={0}", dbPath);

                m_Conn = new OleDbConnection(m_ConnString);
            }
            /**//// <summary>
            /// 打開(kāi)連接
            /// </summary>
            public void ConnOpen()
            {
                if (m_Conn.State != ConnectionState.Open)
                    m_Conn.Open();
            }
            /**//// <summary>
            /// 關(guān)閉連接
            /// </summary>
            public void ConnClose()
            {
                if (m_Conn.State != ConnectionState.Closed)
                    m_Conn.Close();
            }

            private string recordID(string query, int passCount)
            {
                OleDbCommand cmd = new OleDbCommand(query, m_Conn);
                string result = string.Empty;
                using (IDataReader dr = cmd.ExecuteReader())
                {
                    while (dr.Read())
                    {
                        if (passCount < 1)
                        {
                            result += "," + dr.GetInt32(0);
                        }
                        passCount--;
                    }
                }
                return result.Substring(1);
            }


            /**//// <summary>
            /// 獲取當(dāng)前頁(yè)應(yīng)該顯示的記錄,注意:查詢(xún)中必須包含名為ID的自動(dòng)編號(hào)列,若不符合你的要求,就修改一下源碼吧 :)
            /// </summary>
            /// <param name="pageIndex">當(dāng)前頁(yè)碼</param>
            /// <param name="pageSize">分頁(yè)容量</param>
            /// <param name="showString">顯示的字段</param>
            /// <param name="queryString">查詢(xún)字符串,支持聯(lián)合查詢(xún)</param>
            /// <param name="whereString">查詢(xún)條件,若有條件限制則必須以where 開(kāi)頭</param>
            /// <param name="orderString">排序規(guī)則</param>
            /// <param name="pageCount">傳出參數(shù):總頁(yè)數(shù)統(tǒng)計(jì)</param>
            /// <param name="recordCount">傳出參數(shù):總記錄統(tǒng)計(jì)</param>
            /// <returns>裝載記錄的DataTable</returns>
            public DataTable ExecutePager(int pageIndex, int pageSize, string showString, string queryString, string whereString, string orderString, out int pageCount, out int recordCount)
            {
                if (pageIndex < 1) pageIndex = 1;
                if (pageSize < 1) pageSize = 10;
                if (string.IsNullOrEmpty(showString)) showString = "*";
                if (string.IsNullOrEmpty(orderString)) orderString = "ID desc";
                ConnOpen();
                string myVw = string.Format(" ( {0} ) tempVw ", queryString);
                OleDbCommand cmdCount = new OleDbCommand(string.Format(" select count(0) as recordCount from {0} {1}", myVw, whereString), m_Conn);

                recordCount = Convert.ToInt32(cmdCount.ExecuteScalar());

                if ((recordCount % pageSize) > 0)
                    pageCount = recordCount / pageSize + 1;
                else
                    pageCount = recordCount / pageSize;
                OleDbCommand cmdRecord;
                if (pageIndex == 1)//第一頁(yè)
                {
                    cmdRecord = new OleDbCommand(string.Format("select top {0} {1} from {2} {3} order by {4} ", pageSize, showString, myVw, whereString, orderString), m_Conn);
                }
                else if (pageIndex > pageCount)//超出總頁(yè)數(shù)
                {
                    cmdRecord = new OleDbCommand(string.Format("select top {0} {1} from {2} {3} order by {4} ", pageSize, showString, myVw, "where 1=2", orderString), m_Conn);
                }
                else
                {
                    int pageLowerBound = pageSize * pageIndex;
                    int pageUpperBound = pageLowerBound - pageSize;
                    string recordIDs = recordID(string.Format("select top {0} {1} from {2} {3} order by {4} ", pageLowerBound, "ID", myVw, whereString, orderString), pageUpperBound);
                    cmdRecord = new OleDbCommand(string.Format("select {0} from {1} where id in ({2}) order by {3} ", showString, myVw, recordIDs, orderString), m_Conn);

                }
                OleDbDataAdapter dataAdapter = new OleDbDataAdapter(cmdRecord);
                DataTable dt=new DataTable();
                dataAdapter.Fill(dt);
                ConnClose();
                return dt;
            }
        }

        還有調(diào)用示例:html代碼

        <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

        <html xmlns="http://www.w3.org/1999/xhtml" >
        <head runat="server">
            <title>分頁(yè)演示</title>
        </head>
        <body>
            <form id="form1" runat="server">
            <div>
                <br />
                  轉(zhuǎn)到第<asp:TextBox ID="txtPageSize" runat="server" Width="29px">1</asp:TextBox>頁(yè)<asp:Button ID="btnJump" runat="server" Text="Go" OnClick="btnJump_Click" /><br />
                <asp:GridView ID="GridView1" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None" Width="90%">
                    <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                    <RowStyle BackColor="#EFF3FB" />
                    <EditRowStyle BackColor="#2461BF" />
                    <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
                    <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
                    <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                    <AlternatingRowStyle BackColor="White" />
                </asp:GridView>

            </div>
                <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
            </form>
        </body>
        </html>

        示例的codebehind代碼

        using System;
        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.Collections.Generic;

        public partial class _Default : System.Web.UI.Page
        {
            private AdoPager mm_Pager;
            protected AdoPager m_Pager
            {
                get{
                    if (mm_Pager == null)
                        mm_Pager = new AdoPager();
                    return mm_Pager;
                }
            }
            protected void Page_Load(object sender, EventArgs e)
            {
                if(!IsPostBack)
                    LoadData();
            }
            private int pageIndex = 1;
            private int pageSize = 20;
            private int pageCount = -1;
            private int recordCount = -1;

            private void LoadData()
            {
                string strQuery = "select a.*,b.KindText from tableTest a left join tableKind b on a.KindCode=b.KindCode ";
                string strShow = "ID,Subject,KindCode,KindText";    

                DataTable dt = m_Pager.ExecutePager(pageIndex, pageSize, strShow, strQuery, "", "ID desc", out pageCount, out recordCount);
                GridView1.DataSource = dt;
                GridView1.DataBind();
                Label1.Text = string.Format("共{0}條記錄,每頁(yè){1}條,頁(yè)次{2}/{3}",recordCount,pageSize,pageIndex,pageCount);
            }

          
            protected void btnJump_Click(object sender, EventArgs e)
            {
                int.TryParse(txtPageSize.Text, out pageIndex);
                LoadData();
            }
        }

         

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

        文檔

        ASP.NET技巧:access下的分頁(yè)方案

        ASP.NET技巧:access下的分頁(yè)方案:具體不多說(shuō)了,只貼出相關(guān)源碼~using System;using System.Collections.Generic;using System.Text;using System.Data;using System.Data.OleDb;using System.Web;/**//// <summary>/// 名稱(chēng):acces
        推薦度:
        標(biāo)簽: 技巧 分頁(yè) access
        • 熱門(mén)焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門(mén)推薦

        專(zhuān)題
        Top
        主站蜘蛛池模板: 91频在线观看免费大全| 亚洲国产高清精品线久久| 中文字幕无码播放免费| 国产亚洲欧洲Aⅴ综合一区| 国产一级淫片免费播放| 丁香亚洲综合五月天婷婷| 亚洲精品国产成人| 一级毛片在播放免费| 亚洲午夜电影在线观看| 2020年亚洲天天爽天天噜| 亚洲欧洲日本天天堂在线观看| 亚洲中字慕日产2020| 一区二区三区在线观看免费| 毛片免费观看网站| 国产免费69成人精品视频| 亚洲国产精品无码观看久久| 成人av片无码免费天天看| av无码免费一区二区三区| 亚洲精品中文字幕麻豆| 91嫩草国产在线观看免费| 亚洲国产三级在线观看| 亚洲AV色欲色欲WWW| 9420免费高清在线视频| 国产精品无码免费视频二三区| 亚洲AV无码一区东京热久久 | 亚洲视频在线免费观看| 好爽又高潮了毛片免费下载| 亚洲国产无套无码av电影| 免费一级毛片在线播放视频| 亚洲精品无码激情AV| 亚洲国产精品久久久久秋霞小| 免费在线观看a级毛片| 亚洲第一区二区快射影院| 久久国产高潮流白浆免费观看| 亚洲中文无码a∨在线观看| 在线a人片天堂免费观看高清| 一级女性全黄生活片免费看| 亚洲国产精品一区二区久久| 久久精品无码免费不卡| 亚洲成a人片在线观看国产| 久久国产乱子免费精品|