Предположив, что имя пользователя является уникальным, вы должны запросить для пользователя строки которого имя пользователя совпадает с именем пользователя вы хотите получить:
public boolean exits(String username){
boolean exists=false;
SQLiteDatabase db = this.getReradableDatabase();
Cursor cursor=db.rawQuery("SELECT * FROM "+help.TABLE_NAME+" WHERE "+help.COLUMN_USERNAME+" ='"+username+"' ;";
if(cursor!=null && cursor.getCount()>0) exists=true;
cursor.close();
db.close();
return exists;
}
Итак, для того, чтобы проверить, не существует пользователь и зарегистрировать его, вам нужно сделать следующее в ваш метод OnClick:
if (!password.equals(confirm)) {
Toast.makeText(getApplicationContext(), "Password does not match", Toast.LENGTH_LONG).show();
return;
}
else if (handler.exists(name)){
Toast.makeText(getApplicationContext(), "User exists", Toast.LENGTH_LONG).show();
return;
}
else {
handler.addUser(name, username, password);
Toast.makeText(getApplicationContext(), "Account Successfully Created ", Toast.LENGTH_LONG).show();
finish();
}
Из исходного запроса, когда пользователь в registertation Имя пользователя текстовое поле «Студент», например, и заполняет остальную часть формы, когда пользователь щелкает кнопкой учетной записи. Как я могу реализовать это в register.java для сравнения – user24343
@LearnFred просто добавляет еще один блок else. Обновил мой ответ на примере. – Simas
спасибо за исходный запрос, есть ошибка на нем, получилась эта ошибка: Причина: android.database.sqlite.SQLiteException: рядом с «1»: синтаксическая ошибка (код 1): при компиляции: SELECT TOP 1 name FROM USERS WHERE name =? – user24343