我想比较数据库表resultset
中的每个students
,如下所示:
String gender = "";
rs = stat.executeQuery("SELECT gender FROM students;");
while (rs.next()) {
gender = rs.getString("Gender");
}
if (gender.equals("Male")) {
//not allowed
} else {
//allowed
}
但是,上面的代码无效。
答案 0 :(得分:2)
您需要在if else
循环下移动while
,如下所示:
while(rs.next()){
gender = rs.getString("Gender");
if(gender.equals("Male")){
//not allowed
}else{
//allowed
}
}
答案 1 :(得分:1)
你的if语句在while循环之外,你获得每个结果。您可能希望将if-else语句移动到循环中。
答案 2 :(得分:0)
我认为问题如下:
1:从此语句中删除倒数第二个分号 rs = stat.executeQuery("从学生中选择性别;");
2:你称之为性别'这里: rs = stat.executeQuery("从学生中选择性别;"); 但你称之为“性别”和“性别”。在这里(将其改为'性别')。性别和性别是两个不同的词。 gender = rs.getString(" Gender");
答案 3 :(得分:0)
我建议改变查询(如果你的商业案例允许/在这里有意义)只获得性别!=男性。这将减少select语句的执行并减少不需要的值的循环。
然后按照其他人的建议,将逻辑移到while循环中,以便逻辑应用于满足条件的所有值。