web-dev-qa-db-ja.com

Microsoft OLE DB Provider for SQLServerエラー '80040e14' '='の近くの構文が正しくありません

次のコードを使用してデータベースからデータを取得しようとすると、このエラーが発生します。

誰かが助けることができますか?

set rs = Server.CreateObject("ADODB.recordset")
sql = " SELECT * from COMPANY WHERE COMPANY_ID = " & Request.Form("CompanyId")
rs.Open sql, cnn
6

まず第一に、これはパラメータを使用せずにアドホッククエリを実行することは悪い習慣です。 SQLインジェクション攻撃情報: http://en.wikipedia.org/wiki/SQL_injection

ただし、質問に答えるには、検索するvarcharまたはchar値を一重引用符で囲む必要があります。

set rs = Server.CreateObject("ADODB.recordset")
sql = " SELECT * from COMPANY WHERE COMPANY_ID = '" & Request.Form("CompanyId") & "'"
rs.Open sql, cnn
6
ps2goat