我遇到了问题,目前我的数据库看起来像这样:
ID用户名UserType
1 Nies管理员2 Trinity会员
当我使用用户名:Nies
登录时程序响应,但它给了我一个显示两个用户名的对话框。 我想只有当我使用用户名:Nies登录时,该程序还给了我一个对话框,其中只显示该用户名..
我该如何解决?
以下是显示用户名和对话框的代码:
private void GetUsername(Connection conn, Statement state, ResultSet result)
{
try
{
String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
Class.forName(driver);
String url = "jdbc:odbc:Database";
conn = DriverManager.getConnection(url);
state = conn.createStatement();
String query = "select * from Member";
result = state.executeQuery(query);
while(result.next())
{
user = result.getString("Username");
userType = result.getString("UserType");
_userInformation.setUser(user);
_userInformation.setUserType(userType);
_sound.PlaySound(1);
_infoBox.ShowMessageBox("Welcome! " + _userInformation.getUser() + " - " + _userInformation.getUserType() + " ", "Welcome" , 1);
}
}
catch (Exception e)
{
System.err.println(e.getMessage());
_sound.PlaySound(2);
_infoBox.ShowMessageBox(e.getMessage(), "Error", 2);
_reminder = new Reminder(1);
JOptionPane.showOptionDialog(null, "Program will be closed due to error", "Error", JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE, null, new Object[]{}, null);
System.exit(0);
}
}
_infoBox.ShowMessageBox是InfoBox类中的实例ShowMessageBox函数,该函数存储JOptionPane。
答案 0 :(得分:0)
为该检查添加if条件。
If( user.equals("Nies Administrator") &&
userType.equals("Trinity Member")){
_sound.PlaySound(1);
_infoBox.ShowMessageBox("Welcome! " + _userInformation.getUser()
+ " - " + _userInformation.getUserType() + " ", "Welcome" , 1);
}else{
// tell something to user
}
如果您想在没有案例检查的情况下进行比较,请使用equalsIgnoreCase