现在的位置: 网页制作教程网站制作教程 >正文
asp语言高级教程

Microsoft VBScript 编译器错误 (0x800A0402) 缺少整型常数的解决办法

发表于2016/10/23 网站制作教程 0条评论 ⁄ 热度 3,089℃
导语:今天在写ASP一维数组的相关程序时遇到一个问题,提示“Microsoft VBScript 编译器错误 (0x800A0402)缺少整型常数”。为了方便大家以后编程中出现同样问题能第一时间找到答案,特将这问题整理如下。

结合代码说明Microsoft VBScript 编译器错误 (0x800A0402) 缺少整型常数问题的解决办法。

asp错误提示

<%
 set rec=server.createobject("adodb.recordset")
 sql="select object_name(a.id) as tablename,a.name as rowname,b.value as colname from syscolumns a left join sysproperties b on a.id=b.id and a.colid=b.smallid where a.id=object_id('vipdf')"
 rec.open sql,conn,3,3
    num=rec.RecordCount
    dim myArray(num)
    For i=0 To num-1
    myArray(i)=rec("rowname")
    rec.movenext
   if rec.eof then exit for
 Next
 For i=0 To ubound(myArray)
    response.Write(myArray(i)&"&nbsp;&nbsp;&nbsp;&nbsp;")
 Next
%>

把变量num作为数组myArray的长度参数,结果运行报错。

错误类型:

Microsoft VBScript 编译器错误 (0x800A0402)

缺少整型常数

修改过的代码,完美解决这问题。代码如下:

<%
    set rec=server.createobject("adodb.recordset")
 sql="select object_name(a.id) as tablename,a.name as rowname,b.value as colname  from   syscolumns a left join sysproperties b on a.id=b.id and a.colid=b.smallid where a.id=object_id('vipdf')"
 rec.open sql,conn,3,3
    num=rec.RecordCount
    dim myArray()
    redim myArray(num)
    For i=0 To num-1
    myArray(i)=rec("rowname")
    rec.movenext
   if rec.eof then exit for
 Next
 For i=0 To ubound(myArray)
    response.Write(myArray(i)&"&nbsp;&nbsp;&nbsp;&nbsp;")
 Next
%>

通过两端代码比较,发现在后一段重新定义了数组。

dim:定义一个固定维数的数组,如dim arr(100)。

redim:重新定义动态数组的维数,必须先用dim定义一个动态数组: dim arr(),然后可重新定义:redim arr(2,100)、redim arr(1000)。

好了,通过redim重新定义,就可以解决Microsoft VBScript 编译器错误 (0x800A0402) 缺少整型常数的问题。

  • 暂无评论