我正在尝试执行查询并将结果存储在名为“ 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'。
答案 0 :(得分:0)
根据ResultSet.next()
,对此方法的每次调用都移至结果集中的下一个记录,直到返回false
为止,表明不再有结果。
将光标从其当前位置向前移动一行。 ResultSet游标最初位于第一行之前;第一个对方法的调用接下来使第一行成为当前行;第二个调用使第二行成为当前行,依此类推。
答案 1 :(得分:0)
如果您想test
在objRs.next()
中获得if
通话的价值,只需执行以下操作
Boolean test;
if (objRs!= null && test=objRs.next())
{
...
}