Microsoft VBScript 运行时错误 '800a0009' 下标越界: '[number: 1]'的解决方法
2023-02-19 12:20:23 时间
从年初开始准备考研,已经很久没有更新自己的博客了。假期帮学校搞服务器,遇到了一个有趣的问题,记录一下吧。
起因
在服务器数据迁移完毕,环境搭建好,正式运行后,学校官网首页出现了这个问题
打开文件,找到问题行:
<%
sql="select top 10 d_id,d_title,class_id,d_time,is_url,url from a_detail where class_id = 12 or class_id = 18 or class_id = 19 order by d_id desc"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,1
if not rs.eof and not rs.bof then
Do While Not rs.eof
dim class_id,d_id,d_time,d_year,d_month,d_day
class_id = rs("class_id")
d_id = rs("d_id")
d_time_text = CStr(rs("d_time"))
d_time_arr = Split(d_time_text,"-")
d_year = d_time_arr(0)
if d_time_arr(1) <= 9 then // 问题行
d_month = "0"&d_time_arr(1)
else
d_month = d_time_arr(1)
end if
if d_time_arr(2) <= 9 then
d_day = "0"&d_time_arr(2)
else
d_day = d_time_arr(2)
end if
if rs("is_url") = true then
Response.Write("<tr><td><img src='pic/row.png' align='absmiddle'><font class='NewsTitledy'>"&d_month&"-"&d_day&"</font> | <a class='NewsTitledy' href='"&rs("url")&"' target='_blank'>"&rs("d_title")&"</a><td></tr>")
else
Response.Write("<tr><td><img src='pic/row.png' align='absmiddle'><font class='NewsTitledy'>"&d_month&"-"&d_day&"</font> | <a class='NewsTitledy' href='page/page/"&class_id&"/"&d_year&"-"&d_month&"-"&d_day&"-"&d_id&".html' target='_blank'>"&rs("d_title")&"</a><td></tr>")
end if
rs.movenext
Loop
end if
rs.close
%>
这段代码的功能不难理解,就是从top表中取出相应的字段,然后调用各个字段的值,在组合列出链接目录。 从代码看,没有任何问题,文件是从原服务器上直接拷贝下来的,在原来的环境下,没有任何问题,那么现在问题出现在哪里了呢?
寻找原因
根据提示,发现是数组下标越界了,尝试将d_time_arr(1) <= 9 改成 d_time_arr(0) <= 9 :
再结合一下代码,瞬间明白了!!!
看这一行
d_time_arr = Split(d_time_text,"-")
我们知道split() 方法用于把一个字符串分割成字符串数组,在这里的分割依据是“-”符号,但是服务器的时间格是“yyyy/M/d”!
解决
知道问题就容易解决了。 方法有两种,第一种就是将服务器的时间格式改为yyyy-M-D,步骤如下:
** 运行 --> 输入 regedit
** 找到 HKEY_USERS.DEFAULTControl PanelInternational
** 找到右侧的 sDate和sShortDate,将其中的“/” 改为“-”
** 重启IIS
第二种简单点,直接修改代码,将d_time_arr = Split(d_time_text,"-")改成d_time_arr = Split(d_time_text,"/") 以上,成功解决了“Microsoft VBScript 运行时错误 '800a0009' 下标越界: '[number: 1]' ”的问题。
相关文章
- Jgit的使用笔记
- 利用Github Action实现Tornadofx/JavaFx打包
- 叹息!GitHub Trending 即将成为历史!
- 微软软了?开源社区讨论炸锅,GitHub CEO 亲自来答
- GitHub Trending 列表频现重复项,前后端都没去重?
- Photoshop Elements 2021版本软件安装教程(mac+windows全版本都有)
- (ps全版本)Photoshop 2020的安装与破解教程(mac+windows全版本都有)
- (ps全版本)Photoshop cc2018的安装与破解教程(mac+windows全版本,包括2023
- 环境搭建:Oracle GoldenGate 大数据迁移到 Redshift/Flat file/Flume/Kafka测试流程
- 每个开发人员都要掌握的:最小 Linux 基础课
- 来撸羊毛了!Windows 环境下 Hexo 博客搭建,并部署到 GitHub Pages
- 超实用!手把手入门 MongoDB:这些坑点请一定远离
- 【GitHub日报】22-10-09 zustand、neovim、webtorrent、express 等4款App今日上新
- 【GitHub日报】22-10-10 brew、minio、vite、seaweedfs、dbeaver 等8款App今日上新
- 【GitHub日报】22-10-11 cobra、grafana、vue、ToolJet、redwood 等13款App今日上新
- Photoshop 2018 下载及安装教程(mac+windows全版本都有,包括最新的2023)
- Photoshop 2017 下载及安装教程(mac+windows全版本都有,包括最新的2023)
- Photoshop 2020 下载及安装教程(mac+windows全版本都有,包括最新的2023)
- Photoshop 2023 资源免费下载(mac+windows全版本都有,包括最新的2023)
- 最新版本Photoshop CC2018软件安装教程(mac+windows全版本都有,包括2023