Как получить первичный ключ указанной строки c, которую вы запросили (Android Studio SQLite) - PullRequest
0 голосов
/ 25 февраля 2020

Вот моя функция. Я хочу знать способ получить первичный ключ строки, который будет соответствовать запросу. Эта функция используется для проверки наличия учетной записи в базе данных путем сопоставления введенного пользователем имени пользователя и пароля с col_2 (имена пользователей в базе данных) и col_3 (пароли в базе данных). Когда совпадение найдено, я хочу узнать, как получить первичный ключ этой строки.

public Boolean checkUser(String username, String password) {
        SQLiteDatabase db = getReadableDatabase();
        String selection = COL_2 + "=?" + " and " + COL_3 + "=?";
        String[] selectionArgs = {username, password};
        Cursor cursor = db.query(TABLE_NAME, null, selection, selectionArgs, null, null, null);
        int count = cursor.getCount();
        cursor.close();
        db.close();

        if (count > 0)
            return true;
        else
            return false;
    }
}

1 Ответ

0 голосов
/ 26 февраля 2020

Вы можете сделать что-то похожее на это:

long rowId = -1;
if (cursor.moveToFirst()) {
   rowId = cursor.getLong(cursor.getColumnIndex(PRIMARY_KEY));
}

Замените

   PRIMARY_KEY 

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

...