【发布时间】:2018-10-23 04:33:36
【问题描述】:
我正在尝试使用经典的 ASP 和 SQL Server 从数据库中为向量的每个位置选择结果。到目前为止的代码:
FOR EACH x IN Tabela
sql = "SELECT DISTINCT tborders.family AS family, tborders.qty AS qty, tborders.los AS los, CONVERT(DATE, tborders.mrd_date) AS mrd FROM [DASH].[dashboard_db].[dbo].[tb_family] AS tbfamily INNER JOIN [DASH].[dashboard_db].[dbo].[tb_started_zero] AS tborders ON tbfamily.[family] = tborders.[family] WHERE tborders.[Order Number] = "&x&""
SET rs = conn.execute(sql)
IF rs.EOF = false THEN
mrd(counter) = rs("mrd")
family(counter) = rs("family")
los(counter) = rs("los")
qty(counter) = rs("qty")
counter=counter+1
END IF
NEXT
注意tborders.[Order Number] 是一个int 类型的值。出于某种原因,我遇到了这个错误:
Microsoft SQL Server Native Client 11.0 错误“80040e14”
“=”附近的语法不正确。
/asplearning/act/validate-schedule-line.asp,第 46 行
我已尝试删除 SET,但我的结果集未被识别为对象。我很确定这些类型都很好,我试过了:
if isNumeric(x) THEN
response.write("<h1>it is numeric</h1>")
else
response.write("<h1>not numeric</h1>")
end if
它为Tabela 的每个位置写了“它是数字”。任何人都可以帮助解决这似乎是什么问题?
【问题讨论】:
-
你真的应该考虑使用参数而不是建立一个字符串。此外,在 for each 循环中执行此类操作表明您可能会考虑基于此集合而不是 RBAR(逐行排列)。