if-else循环条件不能使用java swing?

时间:2017-11-22 08:59:33

标签: java conditional

我尝试获取用户名和密码的数据库记录,并使用if-else语句进行验证。最后的else语句没有显示消息对话框。我坚持这个,建议我一个解决方案,并说出我做错了。

我的完整代码

String s1 = id.getText();
   String s2 = new String(pass.getPassword());

   try
   {
       Class.forName("org.apache.hive.jdbc.HiveDriver");
       Connection con = DriverManager.getConnection("jdbc:hive2://localhost:10000/twitter_db","arunachalam","");

       String sql = "select userid, password from user_reg where userid='"+s1+"'";
       PreparedStatement ps = con.prepareStatement(sql);
       ResultSet rs = ps.executeQuery();
       while(rs.next())
       {
           if((rs.getString("userid").equals(s1)) && (rs.getString("password").equals(s2)))
           {
               dispose();
               showMessageDialog(null,"Login Successfully");
               new UserPage().setVisible(true);
           }
           else if((rs.getString("userid").equals(s1)) && (!rs.getString("password").equals(s2)))
           {
               showMessageDialog(null,"Incorrect Password");

           }
           else
           {
               showMessageDialog(null,"Invalid User");

           }
       }
   }   
   catch(Exception e)
   {
       showMessageDialog(null, e);
   }

1 个答案:

答案 0 :(得分:0)

您为用户ID和密码检查了两次相同的条件,因此每次检查if语句时它是否满足最终其他if。 请注意下面的源代码。

 else if((rs.getString("userid").equals(s1)) && (!rs.getString("password").equals(s2)))
           {
               showMessageDialog(null,"Incorrect Password");

           }
           else if((rs.getString("userid").equals(s1)) && (!rs.getString("password").equals(s2)))
           {
               showMessageDialog(null,"Incorrect Password");

           }

您可能正在尝试我已更新的以下代码



// check for user id not equal
else if((!rs.getString("userid").equals(s1)) && (rs.getString("password").equals(s2)))
           {
               showMessageDialog(null,"Incorrect User Id");

           }
           else if((rs.getString("userid").equals(s1)) && (!rs.getString("password").equals(s2)))
           {
               showMessageDialog(null,"Incorrect Password");

           }