asp classic - MS Access, ASP, VBScript Missing Operator erro



我正在使用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];

最新更新