您现在的位置是:首页 >

aspnet项目开发教程 基于ASP.NET的自定义分页显示[3]

火烧 2022-07-09 14:39:38 1044
基于ASP.NET的自定义分页显示[3] 首先 在数据库中建立一个存储过程 该存储过程接受两个输入参数 分别是要返回数据的第一条记录数和最后一条记录数 要创建一个返回指定条记录结果的存储过程 首先必须
aspnet项目开发教程 基于ASP.NET的自定义分页显示[3]

基于ASP.NET的自定义分页显示[3]  

    首先 在数据库中建立一个存储过程 该存储过程接受两个输入参数 分别是要返回数据的第一条记录数和最后一条记录数 要创建一个返回指定条记录结果的存储过程 首先必须指定返回结果集的条记录数 这里用table变量(SQL Server ) table变量尽管是存储在内存中的 但在存储过程结束后自动释放 创建的存储过程如下 create proc InsertStudents@Student_Last_Name as varchar( ) = null @StartRow as int = null @StopRow as int = nullAS   建立有标识符列的table变量 declare @t_table table([rownum] [int] IDENTITY ( ) Primary key NOT NULL [Student_Last_Name] [varchar] ( ) [Student_First_Name] [varchar] ( ) )   在返回指定的@StopRow行数之后停止处理查询 Set RowCount @StopRow   插入到table变量中 insert @t_table([Student_Last_Name] [Student_First_Name])SELECT [Student_Last_Name] [Student_First_Name]FROM StudentsWHERE Student_Last_Name like % + @Student_Last_Name like % ORDER BY Student_Last_Name   返回到正确的结果 SELECT * FROM @t_table WHERE rownum >= @StartRowORDER BY rownumGO  参数@StartRow和@StopRow接收整数值 代表要返回的开始记录和结束记录 如果要在一个 条记录的页面中返回第 页 我们就可以设置@StartRow为 @StopRow为   table变量@t_table中定义了一个叫rownum的整数类型的列 并指定为标识符列 它将在插入数据的时候自动增加 起到排序作用 Set RowCount语句是优化性能的关键 它会告诉SQL Server进行限制要插入的数据 如果我们要 条记录之间的数据 那么就可以不必插入大于 条记录的数据 最后的SQL语句通过@t_table的table变量选择rownum大于或者等于@StartRow的那些数据集 然后把它们返回到Web服务器 由Web服务器绑定到DataGrid对象 但如果浏览者请求的页数越来越大 需要向table变量填充的记录就越多 导致页面性能有所下降 因此 性能将依赖于你计算机的硬件和你要返回的记录数 但为了减轻数据库和网络传输的压力 设计合理的查询结果页数是很见效的 lishixinzhi/Article/program/net/201311/14928  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码