我正在使用Access作为ASP页面的后端。我正在使用已保存的查询。 该表如下所示:
UCall Zone Band
NF4L 2 B160
NF4L 5 B40
NF4L 7 NULL
AB2AB 5 B10
查询如下:
Select COUNT(*) as BCnt
From tblScore
Where Band IS NOT NULL and UCall=[in_call];
结果应该是给定调用的所有行的计数,其中有Band的条目。以NF4L作为参数运行的查询应返回2.
查询在Access本身中按预期工作,但是当运行ASP页面时,我得到
"Syntax error (missing operator) in query expression 'Band IS NOT NULL and UCall=[in_call]'.
从ASP页面:
function GetBandTotals(in_call)
conn2.BandSummary in_call, BRS
GetBandTotals = BRS("BCnt")
end function
conn2是一个adodb连接
BRS是adodb记录集
我已经确认in_call正在那里。
答案 0 :(得分:1)
Band
是reserved word,因此请将该名称括在方括号中。
还添加PARAMETERS
子句以通知db引擎期望in_call
参数的文本类型。我不知道这是否会有所帮助,但不会受到伤害。
PARAMETERS in_call Text ( 255 );
SELECT COUNT(*) AS BCnt
FROM tblScore
WHERE [Band] IS NOT NULL AND UCall=[in_call];