如何比较指定文本中的数据库

时间:2013-10-02 16:55:46

标签: java sql compare

我想比较数据库表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  
}

但是,上面的代码无效。

4 个答案:

答案 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循环中,以便逻辑应用于满足条件的所有值。