- ALTER PROCEDURE P_GetOrderNumber
- AS
- select count(orderid) from orders;
- RETURN
- ALTER procedure P_GetPagedOrders2000
- (@startIndex int,
- @pageSize int
- )
- as
- set nocount on
- declare @indextable table(id int identity(1,1),nid int)
- declare @PageUpperBound int
- set @PageUpperBound=@startIndex+@pagesize-1
- set rowcount @PageUpperBound
- insert into @indextable(nid) select orderid from orders order by orderid desc
- select O.orderid,O.orderdate,O.customerid,C.CompanyName,E.FirstName+' '+E.LastName as EmployeeName
- from orders O
- left outer join Customers C
- on O.CustomerID=C.CustomerID
- left outer join Employees E
- on O.EmployeeID=E.EmployeeID
- inner join @indextable t on
- O.orderid=t.nid
- where t.id between @startIndex and @PageUpperBound order by t.id
- set nocount off
- RETURN
- ALTER PROCEDURE P_GetPagedOrders2005
- (@startIndex INT,
- @pageSize INT
- )
- AS
- begin
- WITH orderList AS (
- SELECT ROW_NUMBER() OVER (ORDER BY O.orderid DESC)AS Row, O.orderid,O.orderdate,O.customerid,C.CompanyName,E.FirstName+' '+E.LastName as EmployeeName
- from orders O
- left outer join Customers C
- on O.CustomerID=C.CustomerID
- left outer join Employees E
- on O.EmployeeID=E.EmployeeID)
- SELECT orderid,orderdate,customerid,companyName,employeeName
- FROM orderlist
- WHERE Row between @startIndex and @startIndex+@pageSize-1
- end
- <%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %>
- <%@Import NameSpace="System.Data"%>
- <%@Import NameSpace="System.Data.SqlClient"%>
- <script runat="server" Language="C#">
- void Page_Load(object sender, EventArgs e)
- {
- if (!IsPostBack)
- {
- int totalOrders = (int)SqlHelper.ExecuteScalar(CommandType.StoredProcedure, "P_GetOrderNumber");
- AspNetPager1.RecordCount = totalOrders;
- bindData();
- }
- }
- void bindData()
- {
- Repeater1.DataSource = SqlHelper.ExecuteReader(CommandType.StoredProcedure,"P_GetPagedOrders2005",
- new SqlParameter("@startIndex", AspNetPager1.StartRecordIndex),
- new SqlParameter("@pageSize", AspNetPager1.PageSize));
- Repeater1.DataBind();
- }
- void AspNetPager1_PageChanged(object src, EventArgs e)
- {
- bindData();
- }
- </script>
- <HTML><HEAD>
- <TITLE> AspNetPager Samples </TITLE>
- <META NAME="Author" CONTENT="Webdiyer (www.webdiyer.com)">
- </HEAD>
- <BODY>
- <form runat="server">
- <asp:Repeater ID="Repeater1" runat="server">
- <HeaderTemplate>
- <table width="100%" border="1" cellspacing="0" cellpadding="4" style="border-collapse:collapse">
- <tr style="backGround-color:#CCCCFF"><th style="width:15%"><asp:Literal ID="Literal1" runat="server" Text="<%$Resources:LocalizedText,orderid%>" /></th><th style="width:15%"><asp:Literal ID="Literal3" runat="server" Text="<%$Resources:LocalizedText,orderdate%>" /></th><th style="width:30%"><asp:Literal ID="Literal5" runat="server" Text="<%$Resources:LocalizedText,companyname%>" /></th><th style="width:20%"><asp:Literal ID="Literal2" runat="server" Text="<%$Resources:LocalizedText,customerid%>" /></th><th style="width:20%"><asp:Literal ID="Literal4" runat="server" Text="<%$Resources:LocalizedText,employeename%>" /></th></tr>
- </HeaderTemplate>
- <ItemTemplate>
- <tr style="background-color:#FAF3DC">
- <td><%#DataBinder.Eval(Container.DataItem,"orderid")%></td>
- <td><%#DataBinder.Eval(Container.DataItem,"orderdate","{0:d}")%></td>
- <td><%#DataBinder.Eval(Container.DataItem, "companyname")%></td>
- <td><%#DataBinder.Eval(Container.DataItem,"customerid")%></td>
- <td><%#DataBinder.Eval(Container.DataItem,"employeename")%></td>
- </tr>
- </ItemTemplate>
- <FooterTemplate>
- </table>
- </FooterTemplate>
- </asp:Repeater>
- <webdiyer:AspNetPager ID="AspNetPager1" runat="server" Width="100%" HorizontalAlign="right" PageSize="8" OnPageChanged="AspNetPager1_PageChanged">
- </webdiyer:AspNetPager>
- </form>
- </BODY>
- </HTML>
AspNetPager 的存储过程
最新推荐文章于 2024-10-16 10:33:19 发布