asp.net

位置:IT落伍者 >> asp.net >> 浏览文章

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


发布日期:2019年11月06日
 
基于ASP.NET的自定义分页显示[3]
首先在数据库中建立一个存储过程该存储过程接受两个输入参数分别是要返回数据的第一条记录数和最后一条记录数要创建一个返回指定条记录结果的存储过程首先必须指定返回结果集的条记录数这里用table变量(SQL Server table变量尽管是存储在内存中的但在存储过程结束后自动释放创建的存储过程如下

create proc InsertStudents

@Student_Last_Name as varchar() = null

@StartRow as int = null

@StopRow as int = null

AS

建立有标识符列的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 Students

WHERE Student_Last_Name like % + @Student_Last_Name like %

ORDER BY Student_Last_Name

返回到正确的结果

SELECT * FROM @t_table WHERE rownum >= @StartRow

ORDER BY rownum

GO

参数@StartRow和@StopRow接收整数值代表要返回的开始记录和结束记录如果要在一个条记录的页面中返回第我们就可以设置@StartRow为@StopRow为

table变量@t_table中定义了一个叫rownum的整数类型的列并指定为标识符列它将在插入数据的时候自动增加起到排序作用Set RowCount语句是优化性能的关键它会告诉SQL Server进行限制要插入的数据如果我们要条记录之间的数据那么就可以不必插入大于条记录的数据最后的SQL语句通过@t_table的table变量选择rownum大于或者等于@StartRow的那些数据集然后把它们返回到Web服务器由Web服务器绑定到DataGrid对象但如果浏览者请求的页数越来越大需要向table变量填充的记录就越多导致页面性能有所下降因此性能将依赖于你计算机的硬件和你要返回的记录数但为了减轻数据库和网络传输的压力设计合理的查询结果页数是很见效的

[] [] [] []

               

上一篇:ASP.NET入门教程 12.3.4 Web方法[2]

下一篇:基于ASP.NET的自定义分页显示[4]