Microsoft VBScript 运行时错误 错误 '800a000d'

Microsoft VBScript 运行时错误 错误 '800a000d' 
类型不匹配: '[object]' 
/contact.asp,行 108

首先声明该.asp文件目的是统计问卷中各题目各选项所占百分比并用条形图显示出来 

<%
  dim label(6),avg(6),color(6) '定义分别存放选项、平均值、色号的三个数组
  label(1)="A.男"
  label(2)="B.女"
  avg(1)=0
  avg(2)=0
  color(1)="#FFFF00"
  color(2)="#FF0000"
  rs.open"select choose, count(choose) as [sum] from detail where qID='q1' group by choose"
  do while not rs.eof
    if rs("sum")=NULL then
      ave=0
    else ave=rs("sum")/counts*100
    end if
      avg(rs("choose"))=avg(rs("choose"))+ave
  rs.movenext
  loop
%>
<%for i=1 to 2 %>
   
      <%=label(rs("choose"))%>
      '该红色标记的即为行108
     
        " height="25" bgcolor="<%=color(rs("choose"))%>">
         
       
 

     
      <%=Int(avg(rs("choose"))+0.5)%>%
   
<% 
  next 
  rs.close   
%>

经过老师的开导,我才意识到在进入for循环前,记录指针已经指在rs.eof处,那么rs("choose")的值便不存在,自然就出现类型不匹配了。所以只要选择数组的简单输出就行了,修改如下:
   
   loop 
    rs.close 
%>
<%for i=1 to 2 %>
   
      <%= label(i)%>
     
        avg(i)%>" height="25" bgcolor="<%= color(i)%>">
         
       
 

     
      <%=Int( avg(i)+0.5)%>%
   
<%  
    next
%>
'红色标记即为修改处
在这次错误中,我体会到了VBScript脚本语言与C语言的相通之处,同时对记录集也有了更深的了解。

你可能感兴趣的:(WEB程序设计)