- - PR -
PreparedStatementでlike検索を行う場合
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-03-15 20:53
標題の件ですが、以下のSQLを発行しましたがうまくいきません。
エラーメッセージは「ORA-01006: バインド変数がありません。」です。 String sql = "select * from tb_sy a, tb_syml b where a.sy_syain_no like '?%' " ; 〜略〜 ps.setString(1, syain_no); like検索ではシングルコーテーション''を使用すると思いますので、そのせいでシングルコーテーション''内の?をsetStringするときに認識してくれないようです。 どなたかいい方法を知らないでしょうか? ちなみにOracle9iです。 | ||||
|
投稿日時: 2004-03-15 20:55
自己レスです。96となっている箇所はパーセントです。うまく表示されず96に変換されてしまいました。
| ||||
|
投稿日時: 2004-03-15 21:27
ここが参考になると思います。
| ||||
|
投稿日時: 2004-03-16 17:13
String sql = "select * from tb_sy a, tb_syml b where a.sy_syain_no like ? " ; 〜略〜 ps.setString(1, syain_no + "%"); でどうでしょう? または、 String sql = "select * from tb_sy a, tb_syml b where a.sy_syain_no like ? || '%' " ; 〜略〜 ps.setString(1, syain_no); とか。 | ||||
|
投稿日時: 2004-03-16 18:37
ありがとうございます。どの方法でもうまくいきました。
| ||||
1
