gpt4 book ai didi

java - 我的查询有什么问题吗?它完全没有错误

转载 作者:行者123 更新时间:2023-12-01 19:38:36 24 4
gpt4 key购买 nike

我的 Java sql 查询有问题。如下所示,查询应该返回 rph_id 但它只返回 0,因此它只继续执行 else 方法。

起初,我没有使用prepareStatement,但很多人建议我使用prepareStatement。但它仍然行不通。检查完这两个建议后,我认为我的问题出在查询上,但我不知道是什么。

    public class RphDAO{
static int rph_id;

public static RPHS getRph(RPHS rph) {
try {
currentCon = ConnectionManager.getConnection();
ps=currentCon.prepareStatement("select * from rphs where rph_id=?");

ps.setInt(1, rph_id);
ResultSet rs = ps.executeQuery();

if (rs.next()) {
rs.getInt("rph_id");
rph.setRph_id(rph_id);
rph.setValid(true);
} else {
rph.setValid(false);
}
}
...
return rph;
}
}

它应该返回一个现有的 id,而不是 0。

最佳答案

这里:

if (rs.next()) {
rs.getInt("rph_id");
rph.setRph_id(rph_id);
rph.setValid(true);

您从 ResultSet rs获取一个值...然后丢弃该结果。

您的意思可能是:

rph_id = rs.getInt("rph_id");

另一方面,您请求那些具有 rph_id==1 的条目,因此我看不到您希望在此处找到除 1 之外的其他值。最有可能的是,您想要查看该结果集的其他部分,并以某种方式将它们拉入某个对象的变量/字段中。

似乎 OP 根本不熟悉使用 ResultSet,因此我认为真正的答案是:去读一本好书 tutorial关于这个话题。您无法通过反复试验来学习如何使用新的 API。阅读它的文档,或者一个很好的教程,向您展示如何正确使用它!

关于java - 我的查询有什么问题吗?它完全没有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56389832/

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