当前位置: 代码迷 >> SQL >> Sql语句中关于怎么在LIKE'%?%'中给?赋值
  详细解决方案

Sql语句中关于怎么在LIKE'%?%'中给?赋值

热度:78   发布时间:2016-05-05 11:35:55.0
Sql语句中关于如何在LIKE'%?%'中给?赋值
ct = new ConnDB().getConn();			ps = ct.prepareStatement("select * from news where keyWords like'%?%'");			ps.setString(1, search);
这样的方式给like里的问号赋值,会报错
Parameter index out of range (1 > number of parameters, which is 0).
就是说?它代表的仅仅是一个字符,而不是一个特殊符号(因为它位于单引号里面),这样
ps.setString(1, search)中的这个search就不知道传给谁了。但是如果换成这样就可以。

ct = new ConnDB().getConn();ps = ct.prepareStatement("select * from news where keyWords like'%"+search+"%'");




主要是ike后面的东西换了。?换成“+search+”
  相关解决方案