<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
        主站蜘蛛池模板: 一二三四免费观看在线视频中文版 | 亚洲av最新在线网址| 国产嫩草影院精品免费网址| 亚洲熟妇少妇任你躁在线观看无码| 亚洲日本在线电影| a色毛片免费视频| 亚洲精品~无码抽插| 亚洲国产精品18久久久久久| 99精品视频在线观看免费播放| 热99re久久精品精品免费| 亚洲Av永久无码精品三区在线| 两个人日本免费完整版在线观看1| 国产亚洲精品国看不卡| 全黄大全大色全免费大片| 无码乱人伦一区二区亚洲| 久久精品免费电影| 亚洲xxxxxx| 一级特黄aa毛片免费观看| 婷婷亚洲天堂影院| 国产免费MV大全视频网站| 免费大香伊蕉在人线国产| 最好2018中文免费视频| 成人免费视频小说| 免费大片黄在线观看| 亚洲老妈激情一区二区三区| 秋霞人成在线观看免费视频| 亚洲乱码在线播放| 国产免费人成视频在线观看| 三年片免费高清版| 久久精品国产亚洲av麻豆蜜芽| 国产成人无码a区在线观看视频免费| 免费国产在线精品一区| 麻豆亚洲AV永久无码精品久久 | 鲁啊鲁在线视频免费播放| 亚洲理论电影在线观看| 黄页网站免费在线观看| 一级特级女人18毛片免费视频| 亚洲国产精品久久66| 女同免费毛片在线播放| 亚洲一区在线观看视频| 亚洲毛片av日韩av无码|