Sql语句中关于如何在like '%?%'中给?赋值

做模糊查询用户的时候,如果

String sql="select * from users where name like %?%";
String[] param={username};
ResultSet rs=SqlHelper.executeQuery(sql, param);

这样的方式给like里面的问号赋值,会报错"列索引无效"。

因为在这里?位于单引号里面,它仅仅代表是一个字符,而不是特殊符号。这样的话,

ps.setString(1, username)中的这个username就不知道传给谁了

应该这样写:

String sql="select * from users where name like %"+username+”%";
ResultSet rs=SqlHelper.executeQuery(sql,null);

做字符串的拼接即可。

 

posted on 2017-12-09 17:10  SunnyCx  阅读(3242)  评论(0编辑  收藏  举报

导航