У меня возникли проблемы с запуском моей программы. Я смог очистить любые синтаксические ошибки, но теперь я выдал свой вывод. У меня есть следующее утверждение, и ELSE IF, похоже, не работает? он всегда игнорирует else, если коды. Я не могу понять проблему с кодом.
Может кто-нибудь мне помочь?Оператор if работает, но если нет. Зачем?
private void login_btnActionPerformed(java.awt.event.ActionEvent evt) {
Connection con;
PreparedStatement stmt;
ResultSet rs;
try {
//connect to the database
String host = "jdbc:derby://localhost:1537/LoginSystem";
String uName = "root";
String uPass = "root";
con = DriverManager.getConnection(host, uName, uPass);
String user = username_txt.getText();
String pass = passwordField_txt.getText();
String sql = "Select USERNAME,PASSWORD from LOGINSYSTEM where USERNAME = '"+user+"' AND PASSWORD = '"+pass+"'";
stmt = con.prepareStatement(sql);
rs = stmt.executeQuery();
while(rs.next()) {
String s1 = rs.getString(1);
String s2 = rs.getString(2);
if(user.equals(s1) && pass.equals(s2)) {
JOptionPane.showMessageDialog(null, "Login Successfull!");
Account obj = new Account();
obj.setVisible(true);
} else if(!user.equals(s1) && !pass.equals(s2)) {
JOptionPane.showMessageDialog(null, "Login Failed!");
} else if(!pass.equals(s2)) {
JOptionPane.showMessageDialog(null, "Please Enter A Valid Password.");
passwordField_txt.setText(null);
}
}
} catch(SQLException e) {
JOptionPane.showMessageDialog(null, e);
}
}
Какой выход вы получаете? –
ваш запрос sql всегда будет возвращать ТОЛЬКО строки с действительным логином и паролем, поэтому его невозможно ввести иначе, если оператор – gawi
, что, если мое имя пользователя ''); DROP TABLE LOGINSYSTEM; - '? –