Как вставить данные несколько имен из таблицы SQLite в EditText при каждом входе одно отдельное имя

Подскажите куда двигаться, может лучше использовать SharedPreference для такой задачи?введите сюда описание изображения Или у меня запрос неправильный. Заранее Спасибо

Могу прислать весь код разработки если не понятно


сursor = db.rawQuery("SELECT Name FROM tablename WHERE id = 1 ", null);


        String name1 = "";
        if (сursor.moveToFirst()) {
            name = сursor.getString(сursor.getColumnIndexOrThrow("Name"));
        }
        сursor.close();
        editText_name.setText(name);


    }

Ответы (1 шт):

Автор решения: Akina

Схематично.

Подготовка. Добавляем в таблицу поле резервирования.

ALTER TABLE tablename ADD COLUMN reservation BIGINT DEFAULT NULL;

Этап 1 - проверяем, есть ли уже зарезервированные за текущим юзером или свободные записи. Если есть - получим единицу, иначе получим ноль, можно огорчить юзера и дальше не стараться.

SELECT EXISTS (
    SELECT NULL
    FROM reservation
    WHERE reservation = @current_user_id
       OR reservation IS NULL
    );

Этап 2 - пробуем зарезервировать себе имя. Если зарезервированная запись уже имеется, или если не имеется свободных записей (кто-то успел между этапами 1 и 2) - запрос обновит 0 записей, иначе обновится одна запись.

UPDATE tablename
SET reservation = @current_user_id
WHERE reservation IS NULL
  AND NOT EXISTS (
      SELECT NULL
      FROM tablename
      WHERE reservation = @current_user_id
      )
LIMIT 1;

Этап 3 - получаем ID зарезервированной записи и имя. Если зарезервированная запись уже имелась, или если резервирование успешно, вернётся ID этой записи, иначе (если эту запись кто-то перехватил) вернётся пустой набор данных, в этом случае следует повторить этапы 1-3.

SELECT id, name 
FROM reservation
WHERE reservation = @current_user_id;

Метод не требует транзакций и блокировок.

Если имена выдаются временно и должны освобождаться после использования, это делает

UPDATE tablename
SET reservation = NULL
WHERE reservation = @current_user_id;

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

→ Ссылка