如何在like语句查询中设置占位符

时间:2011-09-29 13:32:19

标签: java jdbc prepared-statement

我正在创建一个带有PreparedStatement语句的like,并且我使用setString()方法设置占位符,但它不会给出任何错误或获取任何记录。当我通过在like语句中设置参数直接在数据库中运行查询然后我得到结果,所以我认为可能有任何其他方式将地方持有者放在sql中,我在做如下:

select name from employee where name like ?

我也尝试过:

select name from employee where name like (?)

并使用setString()方法设置参数,但我没有得到任何结果。

请帮助解决它的错误

2 个答案:

答案 0 :(得分:2)

这是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

中看到更多内容

答案 1 :(得分:1)

这是您首先使用它的方式。如果您需要另一篇解释此内容的帖子,请参阅:

Cannot use a LIKE query in a JDBC PreparedStatement?