1

SQLステートメントの列フィールドに変数を使用しようとしていますが、次のエラーが返されます。

Microsoft OLE DB ProviderforODBCドライバーエラー「80040e14」

[Microsoft] [ODBCテキストドライバー]クエリ式の構文エラー(演算子がありません)'='はい''。

/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 に答える