1

我使用 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 正在到达那里。

4

1 回答 1

1

Band是一个保留字,所以将该名称括在方括号中。

还添加一个PARAMETERS子句来通知数据库引擎期望in_call参数的文本类型。我不知道这是否会有所帮助,但不会受到伤害。

PARAMETERS in_call Text ( 255 );
SELECT COUNT(*) AS BCnt 
FROM tblScore 
WHERE [Band] IS NOT NULL AND UCall=[in_call];
于 2013-01-31T16:23:40.607 回答