jButtonのアクション実行メソッド内にコード化されたelse if部分があり、与えられたE_IDのU_LEVELが "Admin"か "User"かをチェックします.Belowはコードです。java NetBeansのif条件の値をtrueにするにはどうすればいいですか?
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」は、テーブルが含まれているにもかかわらず、偽の値を取得します私は値 "管理者"と "ユーザー"を保存したU_LEVELという列があります。
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)
私はtrue.Whereに
type.equals("Admin")
の値を有効にする必要があり、私は変更を行う必要がありますか?事前に感謝します。
タイプの値は何ですか? – XtremeBaumer
タイプはString String type =(rs1.getString(3));です。 –
私はそれほど確かではありませんが、括弧内の値は2であるべきだと思います。 –