MS Access,ASP,VBScript Missing Operator错误

时间:2013-01-31 15:37:30

标签: ms-access asp-classic vbscript

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

1 个答案:

答案 0 :(得分:1)

Bandreserved 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];