簡體   English   中英

如何在Java NetBeans中將if條件的值轉換為true?

[英]How to turn the value into true of an if condition in java NetBeans?

如果在jButton的動作執行方法內進行編碼,則需要檢查其他代碼,以檢查給定的E_ID的U_LEVEL是“ Admin”還是“ User”。下面是代碼。

if (E_ID.getText().trim().length() == 0 | PWD.getPassword() == null) {
        JOptionPane.showMessageDialog(null, "Username or Password cannot be blank", "Error", 0);
    } else {
            try {
            ResultSet rs = new DBG1().getData("select * from USER where E_ID = '" +E_ID.getText() + "'");
            Vector v = new Vector();

            if (rs.next()) {
                v.add(rs.getString(1));
            }
            if (v.isEmpty()) {

                JOptionPane.showMessageDialog(null, "Invalid Username or Password", "Error", 0);
                E_ID.setText("");
                PWD.setText("");
                E_ID.grabFocus();

            } else {
                ResultSet rs1 = new DBG1().getData("select * from USER where E_ID ='" + E_ID.getText() + "'");
                while (rs1.next()) {
                    String type = (rs1.getString(2));                        

                    if (E_ID.getText().trim().equalsIgnoreCase(rs1.getString("E_ID")) && PWD.getText().equals(rs1.getString("PWD"))&& type.equals("Admin")) {// 
                      //  this.dispose();
                       new Home_Page(E_ID.getText()).setVisible(true);

                    } else if (E_ID.getText().trim().equalsIgnoreCase(rs1.getString("E_ID")) && PWD.getText().equals(rs1.getString("PWD")) && type.equals("User")) {
                        this.dispose();
                       new Home_Page(E_ID.getText()).setVisible(true);

                    } 
                    else {

                        JOptionPane.showMessageDialog(null, "Invalid Username or Password", "Error", 0);
                        E_ID.setText("");
                        PWD.setText("");
                        E_ID.grabFocus();
                    }
                }
                this.dispose();
              }
        } catch (Exception e) {
            System.out.println(e);
        }
    }

上面的代碼中有一個else-if。 在那部分

E_ID.getText().trim().equalsIgnoreCase(rs1.getString("E_ID"))

部分和

 PWD.getText().equals(rs1.getString("PWD"))

部分檢索真實值,但

type.equals("Admin")

即使MYSQL數據庫“ final_post”包含一個名為USER的表,該部分仍會檢索錯誤值。在該表中有一個名為U_LEVEL的列,在該列下我已保存了值“ Admin”和“ User”。

mysql> select * from USER;
+-------+-------+-----+------+
| E_ID  | type  | PWD | CPWD |
+-------+-------+-----+------+
| E/14  | Admin | qwe | qwe  |
| SEC/1 | User  | qw  | qw   |
+-------+-------+-----+------+
2 rows in set (0.04 sec)

我需要改變

 type.equals("Admin") 

真的。我應該在哪里進行修改?謝謝。

我找到了應該修改的地方。 在這里,變量類型是指表USER的列PWD。 但是我已經將其與字符串“ Admin”進行了比較。 這就是為什么它檢索了錯誤的值。 一旦我更正了列索引,其他方法就可以正常工作。 :)字符串類型=(rs1.getString(3)); 這應該具有字符串類型=(rs1.getString(2)); 就這樣。 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM