标题:请问下标越界是怎么回事啊!!!
只看楼主
yjq110
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2008-5-6
 问题点数:0 回复次数:8 
请问下标越界是怎么回事啊!!!
不知道这段代码那里错了,老提示下标越界。我是想做一个分页显示数据表内容的程序,一页显示10条。请高手速达,在线等。。。。。先谢过了~
下面贴出错误报告:
错误类型:
Microsoft VBScript 运行时错误 (0x800A0009)
下标越界
/address/index.asp, 第 58 行



 <%
      if not isempty(request.Form("page")) then
      page=cint(request.Form("page"))
      else
      page=1
      end if
      set rs=server.CreateObject("adodb.recordset")
      sql="select*from user"
      rs.open sql,secondconn,1,1
      if rs.eof and rs.bof then
      response.Write"<p align='center'>对不起,没有找到相关信息!</p>"
      else
      const maxperpage=10
      rs.pagesize=maxperpage
      totalrecord=rs.recordcount
      totalpage=rs.pagecount
      if page>totalpage then
      page=totalpage
      rs.absolutepage=page
      end if
      i=0
      dim truename(),nickname(),quanxian(),email(),userlogincount()
      do while not rs.eof and (i<rs.pagesize)
      i=i+1
      redim preservetruename(i),nickname(i),quanxian(i),email(i),userlogincoount(i)
      truename(i)=rs("truename")   ‘这是第58行
      nickname(i)=rs("nickname")
      if rs("quanxian")="master" then
      quanxian(i)="班级管理员"
      elseif rs("quanxian")="member" then
      quanxian(i)="班级成员"
      else
      quanxian(i)="未审核"
      end if
      email(i)=rs("email")
      userlogincount(i)=rs("logincount")
      %>
      <tr>
        <td align="center"><%=i%></td>
        <td align="center"><%=truename(i)%></td>
        <td align="center"><%=nickname(i)%></td>
        <td align="center"><%=email(i)%></td>
        <td align="center"><%=quanxian(i)%></td>
        <td align="center"><%=userlogincount(i)%></td>
      </tr>
     <%rs.movenext
      loop
     end if
     rs.close
     set rs=nothing
    %>
搜索更多相关主题的帖子: 速达 Microsoft 越界 page 
2008-05-09 17:15
madpbpl
Rank: 4
等 级:贵宾
威 望:11
帖 子:2876
专家分:244
注 册:2007-4-5
得分:0 
i=0
改成
i=1
试试
2008-05-09 17:46
hxfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:5807
专家分:108
注 册:2005-4-7
得分:0 
i=i+1放到rs.movenext的上面或者下面

2008-05-09 17:59
yjq110
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2008-5-6
得分:0 
试了,还是不行,还是说下标越界11!!
2008-05-09 18:15
hxfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:5807
专家分:108
注 册:2005-4-7
得分:0 
数组和RS都是从0行开始的,最大下标是记录条数-1,弄清这个问题就应该不会有问题了

2008-05-09 18:54
madpbpl
Rank: 4
等 级:贵宾
威 望:11
帖 子:2876
专家分:244
注 册:2007-4-5
得分:0 
i=i+1
后面加上一句
if i=11 then exit do
但个人不建议用这个做法
2008-05-09 18:59
yjq110
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2008-5-6
得分:0 
回复 2# 的帖子
什么意思啊,那有0行啊????那我要怎么改呢,
2008-05-09 19:07
hxfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:5807
专家分:108
注 册:2005-4-7
得分:0 
直接把I=I+1删除

2008-05-09 20:02
feelingxj
Rank: 1
等 级:新手上路
帖 子:58
专家分:0
注 册:2008-4-23
得分:0 
数组下标越界吧.如果数据显示正常,倒是可以考虑加一句:On Error Resume Next
2008-05-10 00:43



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-213390-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.859741 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved