Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.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 rs.next()在while语句中返回false_Java_Sql_Resultset - Fatal编程技术网

Java rs.next()在while语句中返回false

Java rs.next()在while语句中返回false,java,sql,resultset,Java,Sql,Resultset,所以,我试图从数据库中提取列表对象中存储的每个引用变量msgRefList的msgID和msgStatus值,并试图将这些提取的值存储在字符串对象中以供进一步处理。但是rs.next方法返回false,因此它不会进入赋值语句所在的while循环。我使用代码中使用的查询签入数据库,结果中显示了一条记录,但仍然是rs.next返回false。附有数据库结果的屏幕截图 下面是我正在使用的实际代码 List<String> msgRefList = listofRefrnceValues:

所以,我试图从数据库中提取列表对象中存储的每个引用变量msgRefList的msgID和msgStatus值,并试图将这些提取的值存储在字符串对象中以供进一步处理。但是rs.next方法返回false,因此它不会进入赋值语句所在的while循环。我使用代码中使用的查询签入数据库,结果中显示了一条记录,但仍然是rs.next返回false。附有数据库结果的屏幕截图

下面是我正在使用的实际代码

List<String> msgRefList = listofRefrnceValues:

try {
    Connection connect = connectToDB(ENV);

    for(String reference: msgRefList){

            String query="select ID, MSG_STS from TABLE where INSTR_ID = ?";
            PreparedStatement stmt = connect.prepareStatement(query);
            stmt.setString(1,reference);
            ResultSet rs = stmt.executeQuery();
            if(rs!=null){

               while(rs.next()) {

                    P_MID = rs.getString("P_MID");
                    P_MSG_STS = rs.getString("P_MSG_STS");
               }

            }
        }
    }catch (Exception e) {
        e.printStackTrace();
    }

您在java中的SQL查询字符串中有一些输入错误。您可能指的是MINF而不是TABLE您的真实表,而且您的所有属性都没有前缀P_2;,ID可能是MID。因此,请更改:

String query="select ID, MSG_STS from TABLE where INSTR_ID = ?";
致:


您会没事的。

寻求调试帮助的问题此代码为什么不起作用?必须包括所需的行为、特定的问题或错误以及在问题本身中重现这些问题所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:。另请参阅:表是保留关键字。尝试使用“TABLE”executeQuery将永远不会返回null,因此完全不需要进行null检查。查询中的所有内容都不正确。你期待什么?在发布问题之前,至少做一些基本的检查。
String query="select P_MID, P_MSG_STS from MINF where P_INSTR_ID = ?";