繁体   English   中英

即使在前面的语句中将true执行为true,resultSet.next()也将变为“ false”

[英]resultSet.next() coming 'false' even though it is executed as true in previous statement

我正在尝试执行查询并将结果存储在名为“ objRs”的结果集中。 在评估if语句时,将'objRs'评估为'true',并且如果执行if块,则代码将失效。 但是在下面的语句中,“ objRs”作为“ false”出现。

请参阅下面的代码,以获得更清晰的图片:

 if (objRs!= null && objRs.next()) //the statements in this block is                 //executed
   {
                        user_Name = objRs.getString("login_name");
                        user_id = objRs.getString("user_id");
                        corp_id = objRs.getString("corp_id");
                        corp_grp_id = objRs.getString("corporate_group");
                        f_name = objRs.getString("first_name");
                        l_name = objRs.getString("last_name");
                        moNumber = objRs.getString("cont_mobile");
                        gender = objRs.getString("gender");
                        address = objRs.getString("address");
                        city = objRs.getString("b_adr1_city");
                        state = objRs.getString("b_adr1_state");
                        country = objRs.getString("b_adr1_country");
                    }                                  
                }   

                @SuppressWarnings("unused")
                Boolean test = objRs.next();  //the value of test is showing //as 'false' while debugging.

上面的代码是“ try”块的一部分。

请提出一种解决方案,以防止上述情况下的'objRs'变为'false'。

根据ResultSet.next() ,对此方法的每次调用都移至结果集中的下一个记录,直到返回false ,表明没有更多结果了。

将光标从当前位置向前移动一排。 ResultSet游标最初位于第一行之前; 第一个对方法的调用接下来使第一行成为当前行; 第二个调用使第二行成为当前行,依此类推。

如果你想test VAR有你的价值objRs.next()调用if只是做以下

Boolean test;
if (objRs!= null && test=objRs.next())
{
  ...
}   

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM