在 Firebird 上使用 ASP 从程序中选择时出错 [关闭]

问题描述 投票:0回答:1

我正在为学校学习一些经典的 ASP,并且正在从程序中进行选择。我使用 WHERE 子句按名称过滤结果(称为 CIUDAD),我使用 LIKE 比较它,但它返回一个错误,这个:

Error: Dynamic SQL Error SQL error code = -206 Column unknown At line 1,第 41 栏。

我正在执行的选择是这样的:

SELECT * FROM LISTA_VUELOS_PRECIO WHERE CIUDAD_ORIGEN LIKE "%" AND CIUDAD_DESTINO LIKE "%"

如果我在 Firebird 的 SQL 编辑器上启动这个选择,它会工作,但如果我通过与 ASP 的连接启动它,它会失败。

这是代码:

sentenciaSQL = "SELECT * FROM LISTA_VUELOS_PRECIO WHERE CIUDAD_ORIGEN LIKE """ & nombre_ciudad_origen & """ AND CIUDAD_DESTINO LIKE """ & nombre_ciudad_destino & """"
response.write(sentenciaSQL & "<br>")
Set vuelos = Conexion.execute(sentenciaSQL)

if Err.Description <>"" then 
  Response.Write("Error: " & Err.Description & "<br/>") 
end if

Conexion 对象有效,因为我将它与其他正常工作的选择一起使用,并且 where 子句中使用的变量具有正确的值。

我在这里放了关于在 Firebird 上启动的选择的图片。

我试着在网上搜索错误,把de LIKE改成“=”,但是没有用。

select asp-classic connection odbc firebird
1个回答
-3
投票

在标准SQL查询中,必须用单引号将所有字符串值括起来

因此,您正确编写的查询是:

SELECT * FROM LISTA_VUELOS_PRECIO WHERE CIUDAD_ORIGEN LIKE '%madri%' AND CIUDAD_DESTINO LIKE '%arcelon%'

然后是生成它的 ASP 代码:

sentenciaSQL = "SELECT * FROM LISTA_VUELOS_PRECIO WHERE CIUDAD_ORIGEN LIKE '%" & nombre_ciudad_origen & "%' AND CIUDAD_DESTINO LIKE '%" & nombre_ciudad_destino & "%'"

请注意,ASP 是一种服务器端语言,浏览器在这里无关紧要。这是一个纯粹的 DBMS SQL 错误,不是 ASP 错误,也不是浏览器错误。

© www.soinside.com 2019 - 2024. All rights reserved.