关于asp分页的新想法
作者:rainoxu 来源:小鹤与独角兽 发布时间:2008-09-06 12:53:00
标签:分页,排序,效率
最近在做学院的选课系统时,在分页上被卡壳了一下,因为需要用到排序,所以不能像以前一样用一个自动递增的字段作为主键,然后仅仅是对这个主键来做统计和操作,我原来写的分页——也就是现在我博客上用到的分页程序,思路是这样的:
通过日志ID(这个是自动递增字段,故是唯一的)先统计出日志数
获取指定页数,然后和每页记录数相乘得到需要从第几条记录之后开始读取
读取这个上面这个ID记录集的top 1记录,然后保存到变量startPosition中
从startPosition开始读取指定数量的记录完成分页
但是这里一直用到的是日志的ID,现在想了一下,学院的系统,可以这样来分页:
先依旧是统计ID(自己可以建一个,自动递增),统计出全部记录总数,同时把所有的ID记录返回(这一步相对比较耗资源),注意,只是返回一个字段的所有记录,不是整个表的所有记录
dim rs,sql
set rs=createobject("adodb.recordset")
sql="select id from [table] where 你的查询限制条件"
rs.open sql,conn,1,1获取指定页数减一,乘以每页显示的记录数
dim cPage,pageSize,position
pageSize=15
cPage=cint(request.querystring("cpage"))
if cPage="" then cPage=1 end if
if cPage=1 then
postion=1
else
position=cPage*pageSize
end if然后用rs.moveto这个函数来定位rs游标到刚才得到的ID记录集的某个位置,然后顺序读取N条ID记录,放在一个数组中
dim i,idTemp
idTemp=""
rs.moveto(position)
for i=1 to pageSize
'构建一个以逗号为分隔的字符串
idTemp=idTemp&rs("id")&","
rs.movenext
next
'去掉最右边的一个无用的逗号
idTemp=left(len(idTemp)-1)
rs.close然后读取存在数组中ID相符的全部记录
sql="select * from [table] where id in ("&idTemp&")"
rs.open sql,conn,0,1


猜你喜欢
- 简介细胞自动机(又称元胞自动机),名字虽然很深奥,但是它的行为却是非常美妙的。所有这些怎样实现的呢?我们可以把计算机中的宇宙想象成是一堆方格
- 表级锁该锁会锁定整张表,它是MySQL中最基本的锁策略,并不依赖于存储引擎(不管你是MySQL的什么存储引擎,对于表锁的策略都是一样的),并
- 使用程序难免会有出错的时候,如何从大篇代码中找出错误,不仅考验能力,还要考验小伙们的耐心。辛辛苦苦敲出的代码运行不出结果,非常着急是可以理解
- SQL查询某字段的值为空sql中字段的默认有NULL和另一种空白的形式如何取查询这两种存在的记录呢?空白值查询:SELECT * FROM
- 生活中,我们在登录微博,邮箱的时候,常常会碰到验证码。在工作时,如果想要爬取一些数据,也会碰到验证码的阻碍。本次试验将带领大家认识验证码的一
- 一、super( ) 的用途了解 super() 函数之前,我们首先要知道 super() 的用途是啥?主要用来在子类中调用父类的方法。多用
- 一、表命令1.查看所有表show tables;2.创建表CREATE TABLE table_name ( co
- 之前我们已经安装了lnmp的环境,现在让我们来安装phpmyadmin。跟前一样,yum默认的库里是没有phpmyadmin的,我们需要从e
- 目录一、前言二、什么是super三、super的常用使用场景总结一、前言最近有粉丝向我咨询super相关的问题,说网上搜索到的教程不够通俗易
- 微软在去年可谓是动作比较大的一年,在去年3月份推出了最新版的IE8浏览器,而在年底又发布全新的操作系统Windows 7,自此新产品的市场占
- 正确使用字体和颜色可以让网页内容更易阅读,下面我们来看看具体的优化措施。留意颜色的对比对于视力不太好的人或者对于不太好的显示设备来说,黑地白
- 最近老婆大人的公司给老婆大人安排了一个根据关键词查询google网站排名的差事。老婆大人的公司是做seo的,查询的关键词及网站特别的多,看着
- 生成一个2000*5的表格,每个单元格的内容是行号+逗号+列号 方法一:使用createElement生成表格,使用insertRow和in
- 前言今天我要教大家的是 如何实现nonebot插件之ChatGpt注意,本文涉及异步爬虫,json文件读写等知识点准备1.获取开发者key获
- 本文实例为大家分享了python放大图片和画方格的具体代码,供大家参考,具体内容如下1、Python 放大图片和画方格算法#!C:/Pyth
- ACCESS数据库在用的过程中,经常不断的进行删除和增加记录的操作,会出现以下问题:1、可能会使Update语句更新失败,明明一条记录存在,
- 选择排序选择排序(selection sort)是一种原地(in-place)排序算法,适用于数据量较少的情况。由于选择操作是基于
- 目录小游戏规则简介实现初始化游戏窗口游戏逻辑实现玩家类实现月饼类交互逻辑总结中秋佳节就快来临,给各位大佬整个兔子吃月饼的小游戏助助兴,废话不
- 丢弃现有MySQL的表是很容易的。但是需要非常小心,删除任何现有的一个表后将无法恢复,因为数据丢失。语法:下面是通用的SQL语法丢弃(删除)
- 创建项目django-admin startproject meiduo_mall添加工程完整结构包启动前端python -m http.s