1

我正在尝试对 SQL 语句中的列字段使用变量,但是它向我返回以下错误:

用于 ODBC 驱动程序的 Microsoft OLE DB 提供程序错误“80040e14”

[Microsoft][ODBC 文本驱动程序] 查询表达式 '= 'Yes'' 中的语法错误(缺少运算符)。

/junk/dbresults.htm,第 31 行

编码:

<%
    Dim connectString, connect, conDB, con
    connectString = "Driver={Microsoft Text Driver (*.txt; *.csv)}; DBQ=" & Server.MapPath("data")
          src_abn = Request.QueryString("abn")
          src_cat = Request.QueryString("cat")
    set connect = Server.CreateObject("ADODB.connection")
    connect.open connectString

    if src_abn = "all" then
    conDB = "SELECT * FROM cont.csv WHERE " & src_cat & " = 'Yes'"  
    else
    conDB = "SELECT * FROM cont.csv WHERE ucase(abn) LIKE ucase('%"+src_abn+"%')"   
    end if

    set con = connect.execute(conDB)
%>
4

2 回答 2

1

看起来 的值src_cat包含创建无效查询的空格或其他字符。尝试将该行更改为此(带括号):

conDB = "SELECT * FROM cont.csv WHERE [" & src_cat & "] = 'Yes'"
于 2013-01-09T21:21:07.283 回答
0

修复它,变量没有被删除。

于 2013-01-09T21:27:41.873 回答