不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
ASP分页中一个多余的变量
编辑:admin 日期:2006-09-14
ASP分页中一个多余的变量
为了能很好的表述出下边我要说的,我们举一个实际的例子,假如存在一个数据库db1,里边一张表table,table里只有两个字段id和name,id为类型为自动编号且为主键,name为文本类型,如下图:

我们在数据库中输入六条记录分别为:小明、小红、小李、小黄、小张、小邝,接下来我们进行简单的分页,程序如下:
<%
Dim conn,sqlstr,page_size,page_no,page_total,i
Set conn=server.createobject("ADODB.connection")
Conn.connectionstring="provider=microsoft.jet.oledb.4.0; data source=" & server.mappath("db1.mdb")
Set rs=server.CreateObject("ADODB.RecordSet")
Sqlstr="select * from table"
Rs.open sqlstr,conn,1,1
If not rs.bof and not rs.eof then
page_size=2 ‘为了便于下边说明,我们让每页显示2条记录
if request.querystring("page_no")="" then
page_no=1
else
page_no=cint(request.QueryString("page_no"))
end if
rs.pagesize=page_size
page_total=rs.pagecount
rs.absolutepage=page_no
i=page_size
do while not rs.eof and i>0
i=i-1
response.write rs(“name”)
rs.movenext
loop
Else
Response.write “数据库中尚无记录”
End if
这样当page_no=1时,显示:
小明
小红
当page_no=2时,显示:
小李
小黄
当page_no=3时,显示:
小张
小邝
请注意上边下划线处即变量I,为什么需要这个I?既然RecordSet对象已经有pagesize和absolutepage两个属性来设置每页显示的记录数和当前所在的页面,那为什么还需要这个I呢?下边我们来做个实验,去掉这个I程序如下:
<%
Dim conn,sqlstr,page_size,page_no,page_total
Set conn=server.createobject("ADODB.connection")
Conn.connectionstring="provider=microsoft.jet.oledb.4.0; data source=" & server.mappath("db1.mdb")
Set rs=server.CreateObject("ADODB.RecordSet")
Sqlstr="select * from table"
Rs.open sqlstr,conn,1,1
If not rs.bof and not rs.eof then
page_size=2 ‘为了便于下边说明,我们让每页显示2条记录
if request.querystring("page_no")="" then
page_no=1
else
page_no=cint(request.QueryString("page_no"))
end if
rs.pagesize=page_size
page_total=rs.pagecount
rs.absolutepage=page_no
do while not rs.eof
response.write rs(“name”)
rs.movenext
loop
Else
Response.write “数据库中尚无记录”
End if
这样当page_no=1时,显示:
小明
小红
小李
小黄
小张
小邝
当page_no=2时,显示:
小李
小黄
小张
小邝
当page_no=3时,显示:
小张
小邝
这样就很容易看出变量I的作用了。
因此,pagesize属性虽然可以用于设置每个页面显示记录的条数,但实际上,它对页面输出记录的条数是并没有什么作用,它的作用是便于服务器算出pagecount的值及当给absolutepage设置值为n时,则第n页显示的第一条记录应为多少,而要对页面输出的记录条数进行控制还得依靠在循环体中设置一数值型变量I进行计数而达到控制的目的,因而该变量的初始值应等于pagesize的值。
为了能很好的表述出下边我要说的,我们举一个实际的例子,假如存在一个数据库db1,里边一张表table,table里只有两个字段id和name,id为类型为自动编号且为主键,name为文本类型,如下图:

我们在数据库中输入六条记录分别为:小明、小红、小李、小黄、小张、小邝,接下来我们进行简单的分页,程序如下:
<%
Dim conn,sqlstr,page_size,page_no,page_total,i
Set conn=server.createobject("ADODB.connection")
Conn.connectionstring="provider=microsoft.jet.oledb.4.0; data source=" & server.mappath("db1.mdb")
Set rs=server.CreateObject("ADODB.RecordSet")
Sqlstr="select * from table"
Rs.open sqlstr,conn,1,1
If not rs.bof and not rs.eof then
page_size=2 ‘为了便于下边说明,我们让每页显示2条记录
if request.querystring("page_no")="" then
page_no=1
else
page_no=cint(request.QueryString("page_no"))
end if
rs.pagesize=page_size
page_total=rs.pagecount
rs.absolutepage=page_no
i=page_size
do while not rs.eof and i>0
i=i-1
response.write rs(“name”)
rs.movenext
loop
Else
Response.write “数据库中尚无记录”
End if
这样当page_no=1时,显示:
小明
小红
当page_no=2时,显示:
小李
小黄
当page_no=3时,显示:
小张
小邝
请注意上边下划线处即变量I,为什么需要这个I?既然RecordSet对象已经有pagesize和absolutepage两个属性来设置每页显示的记录数和当前所在的页面,那为什么还需要这个I呢?下边我们来做个实验,去掉这个I程序如下:
<%
Dim conn,sqlstr,page_size,page_no,page_total
Set conn=server.createobject("ADODB.connection")
Conn.connectionstring="provider=microsoft.jet.oledb.4.0; data source=" & server.mappath("db1.mdb")
Set rs=server.CreateObject("ADODB.RecordSet")
Sqlstr="select * from table"
Rs.open sqlstr,conn,1,1
If not rs.bof and not rs.eof then
page_size=2 ‘为了便于下边说明,我们让每页显示2条记录
if request.querystring("page_no")="" then
page_no=1
else
page_no=cint(request.QueryString("page_no"))
end if
rs.pagesize=page_size
page_total=rs.pagecount
rs.absolutepage=page_no
do while not rs.eof
response.write rs(“name”)
rs.movenext
loop
Else
Response.write “数据库中尚无记录”
End if
这样当page_no=1时,显示:
小明
小红
小李
小黄
小张
小邝
当page_no=2时,显示:
小李
小黄
小张
小邝
当page_no=3时,显示:
小张
小邝
这样就很容易看出变量I的作用了。
因此,pagesize属性虽然可以用于设置每个页面显示记录的条数,但实际上,它对页面输出记录的条数是并没有什么作用,它的作用是便于服务器算出pagecount的值及当给absolutepage设置值为n时,则第n页显示的第一条记录应为多少,而要对页面输出的记录条数进行控制还得依靠在循环体中设置一数值型变量I进行计数而达到控制的目的,因而该变量的初始值应等于pagesize的值。
评论: 1 | 引用: 0 | 查看次数: 4409
发表评论
请登录后再发表评论!