Я написал код для сравнения учетных данных пользователя в базе данных. Сначала я проверяю имя пользователя, а затем на основе возвращаемых результатов, я сравниваю пароль. Если оба совпадают, я открываю другое действие. Код мне кажется хорошим, но у меня нет опыта работы с базами данных, возможно, я пропустил здесь что-то важное. По какой-то причине следующий код не работает.Сравнение результатов, возвращаемых запросом База данных SQLite
public boolean Compare(String username, String pass)
{
Cursor c = sqlDB.query(DB_NAME, columns, DB_COL_EMAIL + "='" + username+ "'", null, null, null, null);
if(c!=null && c.getCount()>0)
{
Toast.makeText(context, "inside check", Toast.LENGTH_SHORT).show();
c.moveToFirst();
int passwordCol_number= c.getColumnIndex(DB_COL_PASS);
boolean found = false;
while(c.moveToNext())
{
found = pass.equals(c.getString(passwordCol_number));
if(found)
return true;
}
}
return false;
}
Есть ли что-нибудь, что я делаю неправильно?
С уважением
вывесить 'logcat' след, который вы получите, чтобы мы могли понять, что это ошибка, что вы столкнулись с – 7bluephoenix
Не отвечая на ваш вопрос здесь, но вы действительно должны читать о инъекций SQL и хэширование паролей;) (и также соглашения об именах java) – Guillaume