关于ASP分页显示

我设置了
rs.PageSize=4
rs.AbsolutePage=1
数据库中有12条纪录
但是每页还是显示12个纪录
我想叫它第一页显示4个纪录怎么设置?

你可以在存储过程中进行分页
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO

ALTER proc PrcZyqPageCount
@tblName varchar(255), -- 表名
@strGetFields varchar(2000) = '*', -- 需要返回的列
@fldName varchar(255)='', -- 排序的字段名
@PageSize int = 10, -- 页尺寸
@PageIndex int = 1, -- 页码
@doCount bit = 0, -- 返回记录总数, 非 0 值则返回
@OrderType bit = 0, -- 设置排序类型, 非 0 值则降序
@strWhere varchar(1500) = '' -- 查询条件 (注意: 不要加 where)
AS
declare @strSQL varchar(5000) -- 主语句
declare @strTmp varchar(110) -- 临时变量
declare @strOrder varchar(400) -- 排序类型
if @doCount != 0
begin
if @strWhere !=''
set @strSQL = 'select count(*) as Total from ' + @tblName + ' where '+@strWhere
else
set @strSQL = 'select count(*) as Total from ' + @tblName + ''
end
--以上代码的意思是如果@doCount传递过来的不是0,就执行总数统计。以下的所有代码都是@doCount为0的情况
else
begin
if @OrderType != 0
begin
set @strTmp = '<(select min'
set @strOrder = ' order by [' + @fldName +'] desc'
--如果@OrderType不是0,就执行降序,这句很重要!
end
else
begin
set @strTmp = '>(select max'
set @strOrder = ' order by [' + @fldName +'] asc'
end
----------------------------
if @PageIndex = 1
begin
if @strWhere != ''
set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from ' + @tblName + ' where ' + @strWhere + ' ' + @strOrder
else
set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from '+ @tblName + ' '+ @strOrder
--如果是第一页就执行以上代码,这样会加快执行速度
end
else
begin
--以下代码赋予了@strSQL以真正执行的SQL代码
set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from '
+ @tblName + ' where [' + @fldName + ']' + @strTmp + '(['+ @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' ['+ @fldName + '] from ' + @tblName + '' + @strOrder + ') as tblTmp)'+ @strOrder
if @strWhere != ''
set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from '
+ @tblName + ' where [' + @fldName + ']' + @strTmp + '(['
+ @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' ['
+ @fldName + '] from ' + @tblName + ' where ' + @strWhere + ' '
+ @strOrder + ') as tblTmp) and ' + @strWhere + ' ' + @strOrder
end
end
print @strSql
exec (@strSQL)

GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

以上代码可以在网上搜到,我用了,挺好的
温馨提示:内容为网友见解,仅供参考
第1个回答  2006-02-07
当然要加判断了。

count=0
while not rs.eof and count<rs.PageSize

'要处理的代码。。。。

count=count+1
rs.movenext
wend本回答被提问者采纳
第2个回答  2006-02-07
你用PAGESIZE没有问题
可能是设置的位置不对
放在设定完RS之后试一下
第3个回答  2006-02-07
没php好用

asp与dreamweaver实现分页显示的问题
在使用ASP和Dreamweaver实现分页显示功能时,主要通过调整代码实现数据的分段展示。具体操作中,可以创建一个1行5列的表格,根据逻辑让记录只在第二列显示。接着,在程序中设置一个判断机制,每读取5条记录后自动换行,以此实现数据的分页效果。实现这一功能的关键在于代码的编写,确保按照需求正确处理数据。...

asp 分页代码 可以显示<<12345678>>形式的分页
page=request("page")if page="" then page=1 else page=Cint(page)end if Section=request("section")if Section="" then Section=1 else Section=Cint(Section)end if '变量赋值 intPageSize=5 '每页显示记录数 intSectionSize=5 '多少页为一段,5表示,12345为一段。PrevSectionText="<FON...

asp 分页显示不足一页或者最后一页不是满页就会出现乱码access 数据库...
这个 是 因为当数据库数据不够每页最大条数的 时候才 会出现的问题 也就是 说你 的循环中有个 地方没有进行判断 我 仔细看了你 的 代码 在 < If i >= PageSize Then Exit For '如果i值已经为每页最大值,即常量页大小时,退出外层循环 Rs.MoveNext if Rs.eof then Exit For '我加的 ...

asp带图的长文章怎么分页显示???
手动根据分页符号来分页。比如提交的时候,在需要分页的地方加个[nextpage],显示的时候根据这个标记分页。

ASP分页问题(每页的页码显示个数)
<%'===分页定义开始,可放在数据库打开前或后 dim action action=request.QueryString("action")Const MaxPerPage=10 '定义每页显示记录数,可根据实际自定义 dim totalPut dim CurrentPage dim TotalPages dim j dim sql if Not isempty(request("page")) then currentPage=Cint(request("page")...

ASP如何实现网页上内容过多时,分页显示~?
你会分页为什么还要说单条记录分页? 将分页的rs.pagesize=1就OK了 分页仅仅就是改变页面显示量的多少 至于你说的表格图片 这个看你自己怎么调用了 这个没有任何影响 不过如果是数据库中内容过多不如 单独读出一条记录 并给出该记录的下一条记录和上一条记录 不过再读两次数据库 速度还要快很多 ...

关于ASP分页后只能显示第一页内容,。。。
分页,按钮的超连有误。少“?”号 如当前页面地址是:test.asp?action=view 而你下面的分页按扭连接里没有加上这个参数,或少个问号,倒至连接地址错误。

asp分页的问题, 急!为什么总显示“2\/总页数”
const maxperpage=10 '定义每一页显示的数据记录的常量 dim currentpage '定义当前页的变量 rs.pagesize=maxperpage currentpage=request.querystring("pageid")if currentpage="" or currentpage<1 then currentpage=1 else currentpage=clng(currentpage)end if if currentpage > rs.pagecount then ...

asp 分页显示不足一页或者最后一页不是满页就会出现乱码access 数据库...
在你的代码详细页(wenti.htm)中,找到如下代码段,然后改成我下面写的:< If i >= PageSize Then Exit For '如果i值已经为每页最大值,即常量页大小时,退出外层循环 Rs.MoveNext if Rs.eof then Exit For '添上这一句 Next End Sub ShowPage Call CurrentPage(PageName,PageNum,Record...

ASP多个条件查询并且分页显示
1=1"if t="t" then sql=sql&" and xxx='"&request("筛选条件")&"'"end if 这样就可以一出来是全部,,在筛选的form里的action=加上t=t 然后在分页里 if t="t" then <a href="?page=<%=page+1%>&t=t&各个条件">下一页 else <a href="?page=<%=page+1%>"> end if ...

相似回答
大家正在搜