Я пытаюсь сделать простую операцию входа, используя электронную почту и пароль из моей базы данных Mysql.Сравнение строк в Java?
Теперь я установил значение электронной почты на «e» и пароль на «e1» (чтобы проверить его). И я импортировать его в мое приложение в строку, я проверить, если пароль и адрес электронной почты истинны:
res = st.executeQuery("SELECT * FROM Users WHERE Email = '"+emailVar+"' AND Password = '"+pswdVar+"' ");
while (res.next()) {
String pswdDb = res.getString("Password");
String emailDb = res.getString("Email");
if (emailVar == emailDb && pswdVar == pswdDb)
{
Intent I = new Intent (this, MainActivity.class);
startActivity(I);
}
но если оператор всегда возвращает ложь.
После отладки я увидел, что значение из базы данных и входное значение равны.
Как это исправить?
Не сравнивайте строки, используя '=='. Используйте метод '.equals (..)'. Ваш if-statement затем становится 'if (emailVar.equals (emailDb) && pswdVar.equals (pswdDb))' – Kon
вы получаете значения из db? вы проверили logcat, если значения равны? – jayeshkv