Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.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 我不知道';即使结果集已满,也无法进入循环_Java - Fatal编程技术网

Java 我不知道';即使结果集已满,也无法进入循环

Java 我不知道';即使结果集已满,也无法进入循环,java,Java,我有一个结果集不是空的。它包含6列。但是如果我想使用循环,什么都不会发生 如果在SQL Server Management Studio中使用与Java代码中相同的参数调用存储过程,则会得到一个结果: 几分钟前一切正常 // That doesn't work because I can't get into the loop if (con != null) { String an_id = "bkoubik"; String AS_Auf

我有一个结果集不是空的。它包含6列。但是如果我想使用循环,什么都不会发生

如果在SQL Server Management Studio中使用与Java代码中相同的参数调用存储过程,则会得到一个结果:

几分钟前一切正常

// That doesn't work because I can't get into the loop
if (con != null) {
        String an_id = "bkoubik";
        String AS_Aufruf = "exec BfV_Web.sp_Anwender_Start\n@AnwenderID = ?";

        try {
            PreparedStatement STMT = con.prepareStatement(AS_Aufruf);
            
            STMT.setString(1, an_id);

            ResultSet rs = STMT.executeQuery();
            
            //THIS IF STATEMENT IS NOT ENTERING, SO WHY THEN THE WHILE LOOP 
              IS NOT WORKING ?
            if (!rs.next() ) {
                System.out.println("no data");
            } 
    
            ResultSetMetaData meta = rs.getMetaData();
            int intRS = meta.getColumnCount();

            //THE LOOP IS NOT ENTERING
            while (rs.next()) { 

              [...]
            }


intRS是列计数,而不是行计数。您的rs可能是空的。

rs的第一次调用。

下一次调用(
)(在循环之前)已经占用了唯一的一行,因此下一次调用(在
while
中)将返回false。

您是否尝试在while循环之前、内部和之后添加简单的print语句?请阅读“如何创建打印语句”。然后使用链接改进您的问题(不要通过评论添加更多信息)。你的代码也很重要。提示:不要使用图像。相反:使用打印语句将相关信息打印为文本,并将其放入问题中。格式良好的文本。
rs.next()
遍历行,而不是列。另外,您似乎在掩盖代码可能正在做的其他事情。旁注:您不应该在存储过程中使用
sp_u
前缀。微软已经这样做了,而且你确实有可能在将来的某个时候发生名称冲突。最好只是简单地避免使用
sp.
并使用其他东西作为前缀,或者根本不使用前缀!请不要在你的问题中包含图像,因为文本什么时候会更好。