Простой способ проверить, не работает ли пользователь в базе данных SQLite. - PullRequest
0 голосов
/ 21 апреля 2019

Я пытался сделать так, чтобы пользователи, которые уже зарегистрировались с одним электронным письмом, не могли снова зарегистрироваться с тем же электронным письмом в Android-студиях.Однако я пробовал много разных кодов, и ни один из них, по-видимому, не работал по разным причинам, я осмотрелся и обнаружил

public boolean checkAlreadyExist(String email)
    {
        SQLiteDatabase db = getReadableDatabase();
        String query = null;{
            query = (SELECT + COL_5 + FROM + TABLE_NAME + WHERE + COL_5 + " =?");
        }
        Cursor cursor = db.rawQuery(query, new String[]{email});
        if (cursor.getCount() > 0)
        {
            return false;
        }
        else
            return true;
    }

Я не понимаю, почему это не сработает, когда я попробовал.«SELECT» имел сообщение об ошибке:

Поле требует API уровня 24 (текущий минимум 15): android.icu.text.MessagePattern.ArgType # SELECT

FROM, WHERE имели код ошибки:

не удалось разрешить символ

, а "=?" имел код ошибки:

<statement> ожидается

Я пытался сделать недействительными кэши и загрузить много инструментов из менеджера SDK, но ничего не работает.

1 Ответ

1 голос
/ 21 апреля 2019

Вы должны изменить эту строку:

query = (SELECT + COL_5 + FROM + TABLE_NAME + WHERE + COL_5 + " =?");

на эту:

query = "SELECT "+ COL_5 +" FROM "+ TABLE_NAME +" WHERE "+ COL_5 + " =?";

Вы должны указать строку в query переменной

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...