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