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

做字符串的拼接即可。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM