Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么ResultSet在执行后返回0值?_Java_Mysql - Fatal编程技术网

Java 为什么ResultSet在执行后返回0值?

Java 为什么ResultSet在执行后返回0值?,java,mysql,Java,Mysql,我想我太累了还是怎么了。。这里什么都看不见 String select = "SELECT project_id FROM project WHERE project_key = ?"; PreparedStatement preparedStatement1 = con.prepareStatement(select); preparedStatement1.setString(1, project_key); ResultSet rs = prepa

我想我太累了还是怎么了。。这里什么都看不见

        String select = "SELECT project_id FROM project WHERE project_key = ?";

    PreparedStatement preparedStatement1 = con.prepareStatement(select);
    preparedStatement1.setString(1, project_key);
    ResultSet rs = preparedStatement1.executeQuery();

    int project_id = 0;

    while(rs.next()) {
            project_id = rs.getInt("project_id");
    }
    System.out.println(project_id);
问题是为什么project_id返回我0


另外,在数据库中,我确实完全插入了我的项目表,是的,我仔细检查了所要求的值

尝试以下代码,查看结果集是否返回任何值

rs.first();
System.out.println(rs.getInt("project_id"));
如果没有看到任何值,则表示问题与查询有关。不返回任何内容,且集合为空。 (我本打算对此发表评论,但我没有足够的声誉)

将代码更改为

while(rs.next()) {
       int project_id = rs.getInt("project_id");
        System.out.println(project_id);
}
我猜您将看不到任何值(如果project_键有问题)


或者多个值,最后一个值将为零

循环中要处理的最后一条记录的
project\u id
值为零。为什么要执行setString?通常键是整数。setInt更合适。在IDE内置的调试器中逐步完成代码。找到调试器是第一件事,而不是最后一件事。然而,在SO上发布已接近列表的末尾。顺便说一句,
是错误的控制结构。它可以工作,但是从一行中检索值的结构是错误的<当处理单行时,code>if是正确的结构。确保执行了while循环。或者对
rs.next()的第一次调用返回
false
或者对
rs.getInt(“项目id”)的最后一次调用
返回
0
为什么这个答案被否决了两次,而它是被接受的答案?我没有否决,但可以认为它是错误的。因为它可以抛出异常。