在ASP页面里,我已经查询得到记录rs1("total") (为总分成绩)
Dim n
n=rs1("total")
response.write"总分:"&n&" <br>"
可以在页面上看到输出为‘总分:90’。接着,我再次查询得到记录rs2 ,我想将rs2("total")与 n 比较,看是否相等。但出错。代码如下:
Do While Not rs2.eof
If rs2("total")=n Then
num=num+1
Else
Exit do
End If
rs2.moveNext
Loop
出错如下:
总分:90
Microsoft VBScript 运行时错误 '800a000d'
类型不匹配
\all\all\check.asp, line 699
补充说明:rs2记录有100条,rs2("total")也是成绩。
------解决方案--------------------------------------------------------
类型不对 是否有空值
------解决方案--------------------------------------------------------
都转换为字符比较看看
If cstr(rs2("total"))=cstr(n) Then
num=num+1
Else
------解决方案--------------------------------------------------------
n=rs1("total") ,你的rs1()是个自定义函数吧,你的这个自定函数是用来取得记录集的,而记录集是一个对象,我看不到你的全部代码,我想这个错误是一个对象和一个标量比较而造成的
------解决方案--------------------------------------------------------
如果是字符串比较的话 最好用下trim()把前后空格去掉