gpt4 book ai didi

java - 准备好的语句不返回结果

转载 作者:行者123 更新时间:2023-12-02 00:33:08 25 4
gpt4 key购买 nike

我第一次尝试使用PreparedStatements,但由于某种原因我无法让它工作。不使用PreparedStaement 发出的相同请求可以正常工作。

简单工作版本:

        String artNum = "'" + artikelNummer.toLowerCase() + "'";
String query =
"SELECT a.artnr, a.bezeichnung, "
+ "(SELECT verfuegbar_bestand "
+ "FROM getbestand(a.uid)) AS bestand_verfuegbar "
+ "FROM article AS a "
+ "WHERE lower(a.artnr) = " + artNum;
ResultSet results = statement.executeQuery(query);

PreparedStatement 版本:

        String artNum = "'" + artikelNummer.toLowerCase() + "'";
String query =
"SELECT a.artnr, a.bezeichnung, "
+ "(SELECT verfuegbar_bestand "
+ "FROM getbestand(a.uid)) AS bestand_verfuegbar "
+ "FROM article AS a "
+ "WHERE lower(a.artnr) = ? ";
prepStatement = con.prepareStatement(query);
prepStatement.setString(1, artNum);
ResultSet results = prepStatement.executeQuery();

我们将非常感激任何帮助/想法。

Ps 是的 artNum 是一个字符串而不是一个整数,例如 A1110

最佳答案

如果您使用的是PreparedStatements,则不需要将字符串括在引号中,如下所示:

String artNum = "'" + artikelNummer.toLowerCase() + "'"

这需要是:

String artNum = artikelNummer.toLowerCase();

关于java - 准备好的语句不返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8472247/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com