如何在like语句查询中设置占位符
问题描述:
我正在创建一个PreparedStatement
SQL,它具有like
语句,我使用setString()
方法设置占位符,但它不会提供任何错误或获取任何记录。当我运行查询通过设置在诸如语句的参数直接在数据库中,然后我得到的结果,所以我觉得有可能是把占位符在SQL任何其他方式,我做象下面这样:如何在like语句查询中设置占位符
select name from employee where name like ?
我也尝试:
select name from employee where name like (?)
和设置参数使用setString()
方法,但我没有得到任何结果。
请帮忙什么是错在它
答
这是来自API的例子:
PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES
SET SALARY = ? WHERE ID = ?");
// set the first (?)
pstmt.setBigDecimal(1, 153833.00)
// set the second (?)
pstmt.setInt(2, 110592)
你可以看到更多在:http://download.oracle.com/javase/1.4.2/docs/api/java/sql/PreparedStatement.html
+0
也是一样的相似的声明 –
+0
是的只改变“=”的“LIKE” – rkmax
可以显示多一点的代码? – jtahlborn
请参阅http://stackoverflow.com/questions/2857164/cannot-use-a-like-query-in-a-jdbc-prepared-statement – Zaki
你传递给setString()方法的字符串是什么? – GriffeyDog