resultSet.next() 出现“假”,即使它在前一个语句中执行为真

我正在尝试执行查询并将结果存储在名为“objRs”的结果集中。在评估 if 语句时,“objRs”被评估为“真”,如果 if 块被执行,则代码会被执行。但在它下面的声明中,“objRs”是“假的”。


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


 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”在上述情况下不会变成“假”。


catspeake
浏览 334回答 2
2回答

慕雪6442864

根据ResultSet.next()每次调用此方法移动到结果集中的下一条记录,直到false返回指示没有更多结果。将光标从其当前位置向前移动一行。ResultSet 游标最初位于第一行之前;第一次调用 next 方法使第一行成为当前行;第二次调用使第二行成为当前行,依此类推。

慕的地10843

如果你想testvar 有你的objRs.next()调用的价值,if只需执行以下操作Boolean test;if (objRs!= null && test=objRs.next()){  ...}   
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java