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

问题描述:

我正在创建一个PreparedStatement SQL,它具有like语句,我使用setString()方法设置占位符,但它不会提供任何错误或获取任何记录。当我运行查询通过设置在诸如语句的参数直接在数据库中,然后我得到的结果,所以我觉得有可能是把占位符在SQL任何其他方式,我做象下面这样:如何在like语句查询中设置占位符

select name from employee where name like ? 

我也尝试:

select name from employee where name like (?) 

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

请帮忙什么是错在它

+1

可以显示多一点的代码? – jtahlborn

+0

请参阅http://*.com/questions/2857164/cannot-use-a-like-query-in-a-jdbc-prepared-statement – Zaki

+0

你传递给setString()方法的字符串是什么? – GriffeyDog

这是你第一次使用它的方式。如果您需要另一个帖子里面解释这一点,请参阅:

Cannot use a LIKE query in a JDBC PreparedStatement?

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