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里不是更方便么
PreparedStatement里怎么使引号里的?成为占位符
PreparedStatement里如何使引号里的?成为占位符类似与select...whereinfolike%?%这里的问号是不被看作是占
