我正在使用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正在到达那里。
Band
是一个保留字,因此将该名称括在方括号中。
此外,添加一个 PARAMETERS
子句,以通知数据库引擎需要 in_call
参数的文本类型。 我不知道这是否会有所帮助,但不会造成伤害。
PARAMETERS in_call Text ( 255 );
SELECT COUNT(*) AS BCnt
FROM tblScore
WHERE [Band] IS NOT NULL AND UCall=[in_call];