#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 .