Vbscript 用VB脚本实现经典ASP的分页
我在我的项目中使用ASP/VB脚本,但我不太了解经典ASP中的分页。我使用表和循环设计了datagrid格式。该表通过访问数据库来填充。因为我们有大量的数据要显示,所以我们需要分页 提前感谢设置页面大小Vbscript 用VB脚本实现经典ASP的分页,vbscript,asp-classic,pagination,Vbscript,Asp Classic,Pagination,我在我的项目中使用ASP/VB脚本,但我不太了解经典ASP中的分页。我使用表和循环设计了datagrid格式。该表通过访问数据库来填充。因为我们有大量的数据要显示,所以我们需要分页 提前感谢设置页面大小 recordset.PageSize = 100 ' number of records per page 设置当前页面 recordset.AbsolutePage = nPage ' nPage being the page you want to jump to. 其他有用位: rec
recordset.PageSize = 100 ' number of records per page
设置当前页面
recordset.AbsolutePage = nPage ' nPage being the page you want to jump to.
其他有用位:
recordset.RecordCount ' number of records returned
recordset.PageCount ' number of pages based on PageSize and RecordCount
这是基本信息。您仍然需要循环浏览适当数量的记录,并在返回页面时检查页码。设置页面大小
recordset.PageSize = 100 ' number of records per page
设置当前页面
recordset.AbsolutePage = nPage ' nPage being the page you want to jump to.
其他有用位:
recordset.RecordCount ' number of records returned
recordset.PageCount ' number of pages based on PageSize and RecordCount
这是基本信息。您仍然需要循环浏览适当数量的记录,并在将页码传回页面时检查页码。分页问题并非ASP classic或VBScript固有的问题。您首先需要定义要遵循的策略: 在客户端:
分页问题并非ASP classic或VBScript固有的问题。您首先需要定义要遵循的策略: 在客户端:
有一个问题你需要注意。。。内置的ASP记录集将允许分页,但效率不高。整个结果集返回到浏览器,然后找到相应的页面并显示该数据 这样想吧。。。您的结果集是一个有4个书架的书架。当你要第一页时,所有4个书架的书都会被退回。显示代码显示“好,现在只显示第1页”。如果你再问第二页。。。所有四个书架的书都被归还,然后显示代码显示“好的,给我第4页” 因此,您应该寻找一种在服务器上、数据库内部进行的分页解决方案。这样,如果您请求50页结果中的第15页,数据库将只返回一个书架上的书籍 这会让你走上正轨 编辑:SQL分页的工作原理
创建存储整个结果集的临时表。我的偏好是在这个临时表中只存储两个值。名为RowId的标识种子值和结果数据的主键。(我是那些相信非感官身份种子钥匙的人之一) 第二步:
将select语句中的所有PKey值插入临时表 第三步:
根据输入页面参数确定StartRowId和EndRowId 第4步:
使用PKey上数据表的内部联接从临时表中选择。在where子句中,限制结果,使临时表的RowId介于StartRowId和EndRowId之间。确保按RowId订购。您需要注意一个问题。。。内置的ASP记录集将允许分页,但效率不高。整个结果集返回到浏览器,然后找到相应的页面并显示该数据 这样想吧。。。您的结果集是一个有4个书架的书架。当你要第一页时,所有4个书架的书都会被退回。显示代码显示“好,现在只显示第1页”。如果你再问第二页。。。所有四个书架的书都被归还,然后显示代码显示“好的,给我第4页” 因此,您应该寻找一种在服务器上、数据库内部进行的分页解决方案。这样,如果您请求50页结果中的第15页,数据库将只返回一个书架上的书籍 这会让你走上正轨 编辑:SQL分页的工作原理
创建存储整个结果集的临时表。我的偏好是在这个临时表中只存储两个值。名为RowId的标识种子值和结果数据的主键。(我是那些相信非感官身份种子钥匙的人之一) 第二步:
将select语句中的所有PKey值插入临时表 第三步:
根据输入页面参数确定StartRowId和EndRowId 第4步:
使用PKey上数据表的内部联接从临时表中选择。在where子句中,限制结果,使临时表的RowId介于StartRowId和EndRowId之间。确保按RowId排序。如果光标不支持recordcount/pagecount属性,可以将记录集放入数组中