当前位置: 代码迷 >> ASP.NET >> 分享小弟我的百万级数据查询分页
  详细解决方案

分享小弟我的百万级数据查询分页

热度:3423   发布时间:2013-02-26 00:00:00.0
分享我的百万级数据查询分页

有什么不好的地方欢迎指点,主要运用sql2005的ROW_NUMBER()
分页其实很简单,只要把页参数传递到以下SQL语句中即可。
where number between cast('" & PageSize & "' as int) *(cast('" & CurrentPage & "' as int)-1)+1 and cast('" & PageSize & "' as int)*cast('" & CurrentPage & "' as int)")
如果不懂vb.net可以到这个网页把代码转换为c# http://www.developerfusion.com/tools/convert/vb-to-csharp/
前台用 gridview repeater datalist 都是一样的。


前台
HTML code
            <asp:ScriptManager ID="ScriptManager1" runat="server">                </asp:ScriptManager>                <asp:UpdatePanel ID="UpdatePanel1" runat="server">                                     <ContentTemplate>            <asp:repeater id="Repeater1" runat="server">                <HeaderTemplate>                    <table id="tb01" width="260%" border="0" cellspacing="1" cellpadding="2" bgcolor="#dddddd">                        <tbody>                            <tr style="background-color:#ffffff">                                <td class="trTitle"  style="width:80px;background-image:url(images/trbg02.gif);background-color:#ffffff;height:23px;" >編號</td>                                <td class="trTitle"  style="width:80px;background-image:url(images/trbg02.gif);background-color:#ffffff;height:23px;">姓名</td>                                <td class="trTitle"   style="width:150px;background-image:url(images/trbg02.gif);background-color:#ffffff;height:23px;">名稱</td>                                                            </tr>                </HeaderTemplate>                <ItemTemplate>                    <tr style="background-color:#ffffff">                        <td height="20px"  align="left">                            <a style="cursor:hand" href="<%= strLinkManitCrsCat %>&recid=<%# Container.DataItem("rec_id") %>&mode=1"  title="編輯/刪除"><strong><asp:label  Font-Names="Tahoma" id="lblClassNum" Width="80px" Runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"emp_id") %>'>                            </asp:label></strong></a>                        </td>                        <td align="left">                            <asp:label id="Label4" Width="80px" Runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"emp_chn_nam") %>'>                            </asp:label>                        </td>                        <td align="left">                            <asp:label id="lblCrsCatDesc" Width="150px" Runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"crs_num") %>'>                            </asp:label>                        </td>                                            </tr>                </ItemTemplate>                <AlternatingItemTemplate>                    <tr bgcolor="#f9f9f9">                        <td height="20px"  align="left">                            <a style="cursor:hand" href="<%= strLinkManitCrsCat %>&recid=<%# Container.DataItem("rec_id") %>&mode=1" title="編輯/刪除"><strong><asp:label Font-Names="Tahoma" id="lblClassNum" Width="80px" Runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"emp_id") %>'>                            </asp:label></strong></a>                        </td>                        <td align="left">                            <asp:label id="Label4" Width="80px" Runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"emp_chn_nam") %>'>                            </asp:label>                        </td>                    <td align="left">                            <asp:label id="lblCrsCatDesc" Width="150px" Runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"crs_num") %>'>                            </asp:label>                        </td>                        <td align="left">                            <asp:label id="Label8" Width="60px" Runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"cls_num") %>'>                            </asp:label>                        </td>                                                                                            </tr>                </AlternatingItemTemplate>                <FooterTemplate>                    <tr bgcolor="#f2f2f2">                        <td height="8" colspan="22" align="center"></td>                    </tr>                    </tbody></table>                </FooterTemplate>            </asp:repeater>            <div style="PADDING-TOP:10px" align="center">                            &nbsp; 共<asp:label id="LPageCount" ForeColor="#ff0000" Runat="server"></asp:label>頁            <asp:label id="LTotalCount" ForeColor="#ff0000" Runat="server"></asp:label>條記錄                    <asp:linkbutton id="Fistpage" Runat="server" CommandName="0">首頁</asp:linkbutton>                    <asp:linkbutton id="Prevpage" Runat="server" CommandName="prev">上一頁</asp:linkbutton>                    <asp:linkbutton id="Nextpage" Runat="server" CommandName="next">下一頁</asp:linkbutton>                    <asp:linkbutton id="Lastpage" Runat="server" CommandName="last">尾頁</asp:linkbutton>當前第                    <asp:label id="LCurrentPage" ForeColor="#ff0000" Runat="server"></asp:label>頁           &nbsp; 轉到第           <asp:textbox id="gotoPage" Width="30px" Runat="server" AutoPostBack="True" MaxLength="5" ></asp:textbox>頁           <asp:Label style=" POSITION: absolute" id="msgbox" runat="server" ForeColor="Red" BorderColor="Red"></asp:Label>           </div>                      </ContentTemplate>                </asp:UpdatePanel>            <input type="hidden" id="sortfield" runat="server" name="sortfield"/> <input type="hidden" id="sortstring" runat="server" name="sortstring"/>&nbsp;        </form>    </body></html>
  相关解决方案