当前位置: 代码迷 >> vbScript >> 大家来看看,SQL查询类型不匹配有关问题
  详细解决方案

大家来看看,SQL查询类型不匹配有关问题

热度:8661   发布时间:2013-02-26 00:00:00.0
大家来看看,SQL查询类型不匹配问题
在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()把前后空格去掉
  相关解决方案