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);