PreparedStatement里怎么使引号里的?成为占位符

PreparedStatement里如何使引号里的?成为占位符类似与select...whereinfolike%?%这里的问号是不被看作是占

PreparedStatement里如何使引号里的?成为占位符
类似与   select   ...   where   info   like   '%?% '
这里的问号是不被看作是占位符的,所以当set的时候会报错java.sql.SQLException:   Parameter   index   out   of   range

如何不用sql语句的拼接解决这个问题
谢谢

[解决办法]
字符串连接吧
[解决办法]
||
[解决办法]
学习一下
[解决办法]
拼接吧~
[解决办法]
程序员群 41801837
[解决办法]
PreparedStatement pst = conn.prepareStatement( "select ... where info like ? ");

pst.setString(1, "% "+name+ "% ");
[解决办法]
用连接 好了
[解决办法]
PreparedStatement pst = conn.prepareStatement( "select ... where info like ? ");
param= param+ "? ";
pst.setString(1, "% "+param+ "% ");

可以在setString之前构造你的字串,然后传入
[解决办法]
PreparedStatement pst = conn.prepareStatement( "select ... where info like ? ");

pst.setString(1, "% "+name+ "% ");

上面的这个语句少写了单引号,正确地应当是

PreparedStatement pst = conn.prepareStatement( "select ... where info like ? ");

pst.setString(1, " '% "+name+ "% ' ");

[解决办法]
直接在PreparedStatement之前把语句保存到String里不是更方便么