rs.next() всегда возвращает false

#java

#java

Вопрос:

В базе данных есть записи, но всякий раз, когда я ввожу какие-либо действительные или недействительные данные в форме входа, всегда отображается ошибка входа. rs.next() всегда возвращает false. Есть решение этой проблемы?

Код выглядит следующим образом:-

 try {
    
    Class.forName("com.mysql.jdbc.Driver");
    Connection con =DriverManager.getConnection("jdbc:mysql://localhost:3306/logindata","root","");
    
    @SuppressWarnings("deprecation")
    
    String sql ="Select * from login Where UserName=' "   textField.getText()  " 'and Password= ' "   passwordField.getText().toString() "'";
    PreparedStatement stmt =con.prepareStatement(sql);
    ResultSet rs = stmt.executeQuery();
    
    String id=null;
    String userId=null;
    
    while(rs.next())
    {
    id=rs.getString("UserName");
   userId=rs.getString("Password");
   }

   if(id!=null)
   System.out.println("Login Success");
   else
   System.out.println("Login Failed");
   
   
    con.close();    
}
catch(Exception ex) {
    System.out.println(ex);
}
            
        
 

Комментарии:

1. Вы окружаете свой пароль и пользователя пробелами.

2. Возможно, было бы лучше использовать PreparedStatement .