如题:DataPager 控件 的 效率 怎么样?
跟之前的GridView的分页是一样的吗?那么用 AspNetPager 会比 他们好吗?
跟之前的GridView的分页是一样的吗?那么用 AspNetPager 会比 他们好吗?
解决方案 »
- System.Web.HttpContext.Current.Server.MapPath("a.txt").ToString(); 报错“未将对象引用设置到对象的实例。”
- 统计TABLE 结果
- 网站数据库被改,有什么工具可以扫描网站的sql 漏洞的
- 求一个最简单的WCF源代码,入门的例子
- jQuery formValidator 在两个form中怎么用,我是菜鸟谢谢!
- showModalDialog打开一个网页后为什么总要刷新父网页
- 怎么插入一个列的值等于自动编号列的值?
- 如何向已经定义好的string[]中添加新的元素。。?
- .NET中插入flash遇到的问题///
- 求网站产品展示模块的制作思路
- .NET C# 导出图片到EXCEL指定单元格(急!急!)
- <%# Eval()%>的问题
DataPager 控件
跟之前的GridView的分页
都是一次将所有数据查出来,放到内存里?
ALTER PROCEDURE sp_Paging
(
@PageSize INT,
@PageIndex INT,
@sql NVARCHAR(2000),
@OrderBy NVARCHAR(50),
@order INT,
@RecordCount INT OUTPUT,
@PageCount INT OUTPUT
)
ASDECLARE @s NVARCHAR(4000)
SET @S = 'SELECT COUNT(*) AS C INTO TEMP FROM (' + @sql + ') AS T'EXEC sp_executesql @s
SELECT @RecordCount = C FROM [TEMP]
DROP TABLE [TEMP]
PRINT @RecordCountSET @PageCount = @RecordCount / @PageSize
PRINT @PageCountDECLARE @Record INT
SET @Record = @PageSize
IF @RecordCount % @PageSize > 0 AND @PageIndex > @PageCount
BEGIN
SET @Record = @RecordCount % @PageSize
SET @PageCount = @PageCount + 1
END
IF @Order = 0
BEGIN
SET @S ='SELECT * FROM
(
SELECT TOP ' + CAST(@Record AS NVARCHAR(3)) + ' * FROM
(
SELECT TOP ' + CAST(@PageSize * @PageIndex AS NVARCHAR(10)) + ' * FROM (' + @sql + ') AS T ORDER BY ' + @OrderBy + ' ' + 'DESC
) AS T1 ORDER BY ' + @OrderBy + ' ASC
) AS T2 ORDER BY ' + @OrderBy + ' DESC'
END
ELSE
BEGIN
SET @S ='SELECT * FROM
(
SELECT TOP ' + CAST(@Record AS NVARCHAR(3)) + ' * FROM
(
SELECT TOP ' + CAST(@PageSize * @PageIndex AS NVARCHAR(10)) + ' * FROM (' + @sql + ') AS T ORDER BY ' + @OrderBy + ' ' + 'ASC
) AS T1 ORDER BY ' + @OrderBy + ' DESC
) AS T2 ORDER BY ' + @OrderBy + ' ASC'
END
PRINT @sEXEC sp_executesql @s
提高效率就是用分页存储过程只获取一页数据
DataPager 好象不怎么写 sql 吧.那时候 我 给 他一个数据原测试 了 一下.
就是说 DataPager 与 AspNetPager 的效率 基本 是一样的.
DataPager 也 能 按 需 来取数据