Как получить данные, используя внешний ключ SQLite? - PullRequest
0 голосов
/ 11 апреля 2019

У меня есть простое приложение с двумя таблицами в базе данных. Зарегистрированный пользователь добавляет «игроков», а идентификатор пользователя сохраняется как внешний ключ в таблице «игроков» Прямо сейчас мой код извлекает все записи независимо от того, вошел ли пользователь в систему. Как изменить мой запрос, чтобы выбрать только данные, введенные вошедшим в систему пользователем, то есть внешний ключ?

"где" SQL-оператор выдает ошибку, если помещен ниже

My query code
===========


  public Cursor getAllRows(){
        SQLiteDatabase db = this.getReadableDatabase();
       Cursor cursor = db.rawQuery("select  Player_id _id, * from Player"  
, null);


      return cursor;
  }

1 Ответ

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

Вам нужен запрос типа:

Cursor cursor = db.rawQuery("select * from Player where user_id = " + userid, null);

, где user_id - это столбец в таблице Player, содержащий идентификатор пользователя, а userid - переменная, в которой хранится идентификатор пользователя.Если идентификатор пользователя является строкой (тип данных TEXT), то он должен быть заключен в одинарные кавычки:

Cursor cursor = db.rawQuery("select * from Player where user_id = '" + userid + "'", null);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...