Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
SQLのWHERE句で LIKE と * のあいまい検索 の書き方
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=19669#CommentId54410
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
るきお
 (社会人)
投稿日時
2014/9/28 19:22:01
1つのSQL文は1つの文字列にしてください。
"SELECT * FROM T3 WHERE フォルダ = Like "
*
" + @Code + "
*
" "
このVB上の式は、コードの色分けを見るとわかると思うのですが、 * が文字列の外にあり、単一の文字列になっていません。
* はかけ算の記号なので、この場合VBはかけ算を生成しようとしますが、 * の前後にあるものが計算できる数値ではないのでVBはこれをエラーにします。
このコードの場合、多分 * も含めてパラメーター @Codeの値に含むことになり、SQL文としては次のとおりになると思います。
LIKE演算を行う場合のパラメーター化については、対象のデータベース製品により仕様が異なる可能性があります。 * を使われているようなのでデータベースはAccessでしょうか?
SQL Serverであれば、%も含めてパラメーターの値にするようですが、Accessについては私はわかりません。
苦戦するようならばまずはパラメーター化を諦めて直接SQL文に値を埋め込んで動作することを確認してから、後でゆっくりパラメーター化していくという方法も良いかと思います。