2017-11-22 8 views
-3

ユーザー名とパスワードのデータベースレコードを取得し、if-elseステートメントを使用して検証しようとしています。最後のelseステートメントはメッセージダイアログを表示していません。私はこれに固執して、私に解決策を提案し、私が間違ったところで言う。if-elseループ状態がjava swingを使用して動作していませんか?

私の完全なコード

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

*最後のelse文が表示されないメッセージダイアログ*を更新したコードの下のためにしようとしているかもしれませ'else'が入力された場合、最終的なelseを入力しないでください – notyou

+0

完全なコードを投稿できますか?追跡するのが簡単です。 – SalmaSulthan

+0

http://idownvotedbecau.se/noat誘惑/ – DaveyDaveDave

答えて

0

あなたは、ユーザーIDとパスワードを二回、それがあれば、他の最初の文をチェックし、もしそうでなければ、最終的な満足does'tので、毎回同じ条件をチェックしました。 以下のソースコードの中には、Obeserveがあります。 `場合の可能性1 -

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"); 
 

 
      }

関連する問題