如何在语句中使用AND运算符

时间:2013-06-13 15:58:12

标签: postgresql jdbc

我在JSP中使用JDBC和PostGreSQL。 我想读取具有给定标题的行的所有值并从文本字段解释但是AND运算符不起作用。

// some code
stmt = conn.createStatement();
res = stmt.executeQuery(                                     
                "SELECT * " +
                "FROM album " +
                "WHERE interpret = ? AND titel = ? " +
                "ORDER BY interpret, titel ASC "
                );
//... closte statements, etc.

我没有获得AND的语法异常。 你们有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您不能在使用createStatement创建的语句中使用绑定变量。 PreparedStatement是你应该合作的。

使用:

stmt = conn.prepareStatement();
stmt.setString(1, interpretValue); //set the value for the first parameter to interpretValue
stmt.setString(2, titleValue); //second parameter

PreparedStatement是执行SQL语句的首选方法,因为该语句是预编译的。这可能比Statement更有效,特别是如果多次执行相同的查询。