注册 登录
编程论坛 ASP技术论坛

显示分页的代码,高手帮忙看下哪里错了,谢谢

gudaohaha 发布于 2008-05-17 15:48, 1098 次点击
<%
            Dim i,rs
            PERPAGE = 20
            Set rs = Server.CreateObject("ADODB.RecordSet")
            sql="select * from News,Category where news.CateID=Category.CID and '热点新闻' order by NewsID desc"
            rs.open sql,conn,3,2
            on error resume next
            If rs.EOF Then
        '则关闭记录集
        rs.Close
        '显示目前还没有评论
        Response.Write "此文章暂无评论"
    Else
            
            '设置每页记录数
            rs.PageSize = PERPAGE
            '设置当前页码
            rs.AbsolutePage = CurPage
            For i = 1 To rs.PageSize    
            Response.Write "<a class='style34' onClick='return newwin(this.href);' href='newsView.asp?id=" + cstr(rs("newsid")) + "'>" + rs("newsTitle") +"</p>"
            rs.movenext
            next
            rs.close
            end if
            if request("page")<>"" then
 curpage=cint(request("page"))
   if curpage<1 then curpage=1
   if curpage>rs.pagecount then curpage=rs.pagecount
else
curpage=1
end if
rs.absolutepage=curpage
            %>    
            
            <br><br>
            <p align="center">

<a href="indexrdbeifen.asp?page=1">首页</a>&nbsp;
<a href="indexrdbeifen.asp?page=<%=curpage-1%>">前一页</a>&nbsp;
<a href="indexrdbeifen.asp?page=<%=curpage+1%>">后一页</a>&nbsp;
<a href="indexrdbeifen.asp?page=<%=rs.pagecount%>">末页</a>



</p>
<p align="center">现在是第<%=curpage%>页一共有<%=rs.pagecount%>页</p>
15 回复
#2
multiple19022008-05-17 15:59
你自己不说怎么错了,等着别人弄一个跟你那里一样的数据库自己加了数据帮你测试?
#3
gudaohaha2008-05-17 16:05
嘿嘿
哦,我忘记描述问题了,就是我点击下一页的时候页面跳不过去,然后总页数哪里也无法显示:(((首页  前一页  后一页  末页

现在是第1页一共有页)))感觉是不是这里有错啊哈 pagecount是不是要怎么个定义呢
谢谢了
#4
yms1232008-05-17 16:19
if request("page")<>"" then
curpage=cint(request("page"))
   if curpage<1 then curpage=1
   if curpage>rs.pagecount then curpage=rs.pagecount
else
curpage=1
end if
这个判断的位置不对写在了当前页设置后面了
<%
            Dim i,rs
            PERPAGE = 20
            Set rs = Server.CreateObject("ADODB.RecordSet")
            sql="select * from News,Category where news.CateID=Category.CID and '热点新闻' order by NewsID desc"
            rs.open sql,conn,3,2
            on error resume next
            If rs.EOF Then
               '则关闭记录集
               rs.Close
               '显示目前还没有评论
               Response.Write "此文章暂无评论"
           Else
              '设置每页记录数
             if request("page")<>"" then
                curpage=cint(request("page"))
                if curpage<1 then curpage=1
                if curpage>rs.pagecount then curpage=rs.pagecount
            else
               curpage=1
            end if
            rs.PageSize = PERPAGE
            '设置当前页码
            rs.AbsolutePage = CurPage
            For i = 1 To rs.PageSize   
                Response.Write "<a class='style34' onClick='return newwin(this.href);' href='newsView.asp?id=" + cstr(rs("newsid")) + "'>" + rs("newsTitle") +"</p>"
                rs.movenext
                '这里缺少对最后一条数据的判断
                if rs.eof then exit for
            next
            rs.close
            end if
                        %>   
            
            <br><br>
            <p align="center">

<a href="indexrdbeifen.asp?page=1">首页</a>
<a href="indexrdbeifen.asp?page=<%=curpage-1%>">前一页</a>
<a href="indexrdbeifen.asp?page=<%=curpage+1%>">后一页</a>
<a href="indexrdbeifen.asp?page=<%=rs.pagecount%>">末页</a>



</p>
<p align="center">现在是第<%=curpage%>页一共有<%=rs.pagecount%>页</p>
#5
gudaohaha2008-05-17 16:32
先谢
还是不行哦,那样的话,错误就变成Microsoft VBScript 运行时错误 (0x800A01A8)
缺少对象: '',这一行 if curpage>rs.pagecount then curpage=rs.pagecount
#6
yms1232008-05-17 16:37
我也错了rs.PageSize = PERPAGE这句话应该放在判断语句之前
因为rs里没有设置每页的记录数,就去计算pagecount肯定会缺少对象的
<%
            Dim i,rs
            PERPAGE = 20
            Set rs = Server.CreateObject("ADODB.RecordSet")
            sql="select * from News,Category where news.CateID=Category.CID and '热点新闻' order by NewsID desc"
            rs.open sql,conn,3,2
            on error resume next
            If rs.EOF Then
               '则关闭记录集
               rs.Close
               '显示目前还没有评论
               Response.Write "此文章暂无评论"
           Else
              '设置每页记录数
             rs.PageSize = PERPAGE
             if request("page")<>"" then
                curpage=cint(request("page"))
                if curpage<1 then curpage=1
                if curpage>rs.pagecount then curpage=rs.pagecount
            else
               curpage=1
            end if
            '设置当前页码
            rs.AbsolutePage = CurPage
            For i = 1 To rs.PageSize   
                Response.Write "<a class='style34' onClick='return newwin(this.href);' href='newsView.asp?id=" + cstr(rs("newsid")) + "'>" + rs("newsTitle") +"</p>"
                rs.movenext
                '这里缺少对最后一条数据的判断
                if rs.eof then exit for
            next
            rs.close
            end if
                        %>   
            
            <br><br>
            <p align="center">

<a href="indexrdbeifen.asp?page=1">首页</a>
<a href="indexrdbeifen.asp?page=<%=curpage-1%>">前一页</a>
<a href="indexrdbeifen.asp?page=<%=curpage+1%>">后一页</a>
<a href="indexrdbeifen.asp?page=<%=rs.pagecount%>">末页</a>



</p>
<p align="center">现在是第<%=curpage%>页一共有<%=rs.pagecount%>页</p>
#7
gudaohaha2008-05-17 16:44
heihei
可是还是不行啊,问题还是和最初的一样哦,我点下一页的时候他不会跳过去,然后一共有几页的那地方还是空的哦

((首页 前一页 后一页 末页

现在是第-1页一共有页))
#8
yms1232008-05-17 16:46
on error resume next 把这句话删掉看看出现什么错误提示
#9
gudaohaha2008-05-17 16:50
去掉是这样的错误
错误类型:
ADODB.Recordset (0x800A0BB9)
参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。
/new/indexrdbeifen3.asp, 第 172 行
#10
yms1232008-05-17 17:09
rs.open sql,conn,3,2
这里改成
rs.cursortype=3
rs.open sql,conn
试试看
#11
gudaohaha2008-05-17 17:13
太帅了
额,太高兴了,下一页那里可以正常显示了,但是末页那不行,点击末页的时候,就自己跳到第一页了,还有就是一共有几页那还是不行哦,末页显示数字的,谢谢啦
#12
yms1232008-05-17 17:24
<a href="indexrdbeifen.asp?page=1">首页</a>
<%IF Curpage<>1 Then%>
  <a href="indexrdbeifen.asp?page=<%=curpage-1%>">前一页</a>
<%Else%>
  前一页
<%End IF%>
<%IF CurPage<>rs.pagecount Then%>
<a href="indexrdbeifen.asp?page=<%=curpage+1%>">后一页</a>
<%Else%>
  后一页
<%End IF%>
<a href="indexrdbeifen.asp?page=<%=rs.pagecount%>">末页</a>
加上分页判断。
#13
yms1232008-05-17 17:55
rs.close'问题出在这个rs.close上这句话不应该写在这个位置上
            end if
                        %>   
            
            <br><br>
            <p align="center">

<a href="indexrdbeifen.asp?page=1">首页</a>
<a href="indexrdbeifen.asp?page=<%=curpage-1%>">前一页</a>
<a href="indexrdbeifen.asp?page=<%=curpage+1%>">后一页</a>
<a href="indexrdbeifen.asp?page=<%=rs.pagecount%>">末页</a>
改后的代码
<%
            Dim i,rs
            PERPAGE = 20
            Set rs = Server.CreateObject("ADODB.RecordSet")
            sql="select * from News,Category where news.CateID=Category.CID and '热点新闻' order by NewsID desc"
            rs.cursortype=3
            rs.open sql,conn
            on error resume next
            If rs.EOF Then
               '则关闭记录集
               rs.Close
               '显示目前还没有评论
               Response.Write "此文章暂无评论"
           Else
              '设置每页记录数
             rs.PageSize = PERPAGE
             if request("page")<>"" then
                curpage=cint(request("page"))
                if curpage<1 then curpage=1
                if curpage>rs.pagecount then curpage=rs.pagecount
            else
               curpage=1
            end if
            '设置当前页码
            rs.AbsolutePage = CurPage
            For i = 1 To rs.PageSize   
                Response.Write "<a class='style34' onClick='return newwin(this.href);' href='newsView.asp?id=" + cstr(rs("newsid")) + "'>" + rs("newsTitle") +"</p>"
                rs.movenext
                '这里缺少对最后一条数据的判断
                if rs.eof then exit for
            next
            end if
                        %>   
            
            <br><br>
            <p align="center">

<a href="indexrdbeifen.asp?page=1">首页</a>
<%IF Curpage<>1 Then%>
  <a href="indexrdbeifen.asp?page=<%=curpage-1%>">前一页</a>
<%Else%>
  前一页
<%End IF%>
<%IF CurPage<>rs.pagecount Then%>
<a href="indexrdbeifen.asp?page=<%=curpage+1%>">后一页</a>
<%Else%>
  后一页
<%End IF%>
<a href="indexrdbeifen.asp?page=<%=rs.pagecount%>">末页</a>
</p>
<p align="center">现在是第<%=curpage%>页一共有<%=rs.pagecount%>页</p>

<%
  rs.close
%>
#14
gudaohaha2008-05-17 19:15
谢谢
谢谢了,问题解决了,o(∩_∩)o...哈哈
#15
tangbiao1382008-05-18 13:09
哇噻
看你们讨论真精彩,越加感觉自己的无知!

虽然你们说的我都不懂,但心情激荡啊~!
#16
yaohuitc2008-05-18 14:46
斑竹真酷!
1