簡體   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