回 帖 发 新 帖 刷新版面

主题:来帮我看下这段代码错哪了?下标越界问题(更新)

dim zhulei()
dim biaoti()
dim yusuan()
dim zongtoubiao()
dim youxiaoqi()
dim riqi()
dim shengyuriqi()

sql="select top 10 * from [employerdingdan] order by dingdanID desc"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,1
if rs.bof and rs.eof then
  aerror=true
  response.write "
<li>定单查找失败!</li>" 
else
  dim i
  for i=0 to rs.recordcount-1
    zhulei(i)=rs("zhulei")
    biaoti(i)=rs("biaoti")
    yusuan(i)=rs("yusuan")
    zongtoubiao(i)=rs("zongtoubiao")
    riqi(i)=rs("riqi")
    youxiaoqi(i)=rs("youxiaoqi")
    shengyuriqi(i)=datediff("d",riqi(i),now)
    shengyuriqi(i)=youxiaoqi(i)-shengyuriqi(i)
    rs.movenext
  next
end if
rs.close
set rs=nothing

在zhulei(i)=rs("zhulei")这一行,提示我下标越界~~~

于是我把前面定义的那些动态数组写成:
dim zhulei(9)
dim biaoti(9)
dim yusuan(9)
dim zongtoubiao(9)
dim youxiaoqi(9)
dim riqi(9)
dim shengyuriqi(9)
就可以了,是不是动态数组 不是我开头那样用的?

回复列表 (共3个回复)

沙发

板凳

在dim i的下一行加上 :
j=cint(rs.recordcount-1)
Redim Preserve zhulei(j)
Redim Preserve biaoti(j)
Redim Preserve  yusuan(j)
Redim Preserve zongtoubiao(j)
Redim Preserve youxiaoqi(j)
Redim Preserve riqi(j)
Redim Preserve shengyuriqi(j)

3 楼

定义动态数组有问题

我来回复

您尚未登录,请登录后再回复。点此登录或注册