使用带有 LIKE 的 java 准备好的语句

我想使用带有 LIKE 关键字的 java 准备语句。我正在尝试匹配日期字符串。这是我的代码。


String summaryChooser = "SELECT * FROM PRODUCT p, CODE_COVERAGE_SUMMARY s WHERE "

                    + " p.product_id = s.product_id AND p.product_id = ? AND s.date LIKE ? "

                    + " ORDER BY s.date DESC LIMIT 1 ";

ps = dbConnection.prepareStatement(summaryChooser);

ps.setInt(1, productsResult.getInt("product_id"));

ps.setString(2,  "%" + date + "%");

它给出了以下例外。


com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在 '? 附近使用的正确语法。AND s.date LIKE ? ORDER BY s.date DESC LIMIT 1' 在第 1 行


森林海
浏览 98回答 2
2回答

哈士奇WWW

我可以通过这样做使其工作。ps.setString(2, date + "%");感谢大家 :)

LEATH

代替:ps.setString(2,  "%" + date + "%");和:ps.setString(2,  "'" + date + "'");
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java