0

我在 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 的语法异常。大家有什么建议吗?

4

1 回答 1

1

您不能在使用创建的语句中使用绑定变量createStatementPreparedStatement是您应该使用的。

利用:

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

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

于 2013-06-13T16:01:42.577 回答