ユーザーを持つデータベースがあり、それぞれに役割があります。U はユーザー、A は管理者です。ユーザー広告の役割を取得し、文字列として返す getRole() というクラスのメソッドがあります。別のクラスでこのメソッドを呼び出し、その結果を文字列に保存してから、その文字列をテストします。A (管理者) の場合は続行します。問題は、文字列が A を返すことですが、プログラムは続行されません。ここで何が問題なのですか?
getRole() メソッド:
public String getRole() throws SQLException {
userid = "c##lambros";
password = "16111111";
jdbcUrl = "jdbc:oracle:thin:@localhost:1521:ORCL";
conn = DriverManager.getConnection(jdbcUrl, userid, password);
checkRole = "SELECT role FROM users where username = '" + usernameF.getText() + "' AND password = '" + passwordF.getText() + "' ";
System.out.println(checkRole);
stmt = conn.createStatement();
rset = stmt.executeQuery(checkRole);
while (rset.next()){
role = rset.getString(1);
System.out.println("The User's Role is " + role);
}
return role;
}
IF ステートメント:
Login login = new Login();
TermResultsFromDB terms = new TermResultsFromDB();
String role;
try {
role = login.getRole();
System.out.println(role);
if(role=="A"){
terms.getTerms(query);
terms.setVisible(true);
terms.setLocation(z, y);
terms.pack();
}
else if (role!="A")
System.out.println("Sorry! Not sufficient Privileges!");
} catch (SQLException f) {
}