Asp classic ADO记录集EOF和BOF不符合预期

Asp classic ADO记录集EOF和BOF不符合预期,asp-classic,vbscript,Asp Classic,Vbscript,存储的进程是 arrBand = array("6M","10M","12M","15M","17M","20M","30M","40M","60M","80M","160M") 以下代码始终执行“not”条件。对于给定的CRS(“CID”),数据库中只有两行具有一个数组值,即6M和10M SELECT * FROM tableBand WHERE UCall=[In_Call] And ACID=[In_CID] and BAND=[In_Band]; i=0至uBond(arrBand

存储的进程是

arrBand = array("6M","10M","12M","15M","17M","20M","30M","40M","60M","80M","160M")
以下代码始终执行“not”条件。对于给定的CRS(“CID”),数据库中只有两行具有一个数组值,即6M和10M

SELECT * 
FROM tableBand
WHERE UCall=[In_Call] And ACID=[In_CID] and BAND=[In_Band];
i=0至uBond(arrBand)的

CONNTTEMP.GetMode SanCall、CRS(“Cid”)、arrBand(i)、BandRS
如果不是BandRS.EOF和BandRS.BOF,则
tmp=tmp+“”+arrBand(i)+”
如果结束
班德尔斯·克洛斯
下一个

事实证明,字段名“Band”是一个保留字,即使查询是在Access中运行的。我把它改成了Bandx,现在它开始工作了。

如果看不到表数据和正在执行的确切SQL语句,很难提供帮助。确切的SQL语句在帖子中。该表包含3列,ACID、UCall、Band和all text。第1行的数据是1A0,nf4l,6M。第2行是1A0,NF4L,10M。您确定返回了数据并且没有发生错误吗?红脸,我现在看到我调用了错误的进程,应该是getBand。纠正了这一点之后,现在我得到了:查询表达式“UCall=[in_Call]和ACID=[in_CID]和BAND=[in_BAND]”中的语法错误(缺少运算符)。查询在Access中运行得非常好。
for i = 0 to UBound(arrBand)
  ConnTemp.GetMode SanCall, CRS("Cid"), arrBand(i), BandRS
  if not BandRS.EOF and not BandRS.BOF then
    tmp = tmp + "<td style='width: 59px;'>" + arrBand(i) + "<input name='Ck'" +     arrBand(i) + "' type='checkbox' checked='checked'value='Y'/></td>"
  else
   tmp = tmp + "<td style='width: 59px;'>" + arrBand(i) + "<input name='Ck'" + arrBand(i) + "' type='checkbox'/></td>"
end if
BandRS.close
next