Android SQLiteDatabase: чтение одного столбца - PullRequest
1 голос
/ 07 декабря 2010

У меня есть однорядная база данных только для сохранения данных приложения. Моя цель - прочитать из него один столбец (одно значение).

Этот запрос возвращает все столбцы в курсоре:

public Cursor readAll() {
       return getReadableDatabase().query(tableName, null, null, null, null, null, null);
    }

Возвращает курсор с одной строкой, просто идеально. Тем не менее, я не хочу читать все столбцы одновременно, потому что это медленно, так как у меня есть BLOB-объектов в DB. Вместо этого я хотел бы читать только один столбец за раз, отдельно. Например, для столбца с именем «TEXT» это будет выглядеть так:

public Cursor readText() {
      String[] projection = new String[]{"TEXT"};
      return getReadableDatabase().query(tableName, projection, null, null, null, null, null);
    }

Однако это не сработает, так как я получаю назад курсор с нулевыми строками.

Итак, как прочитать определенный столбец из базы данных SQLite в Android?

Ответы [ 3 ]

0 голосов
/ 07 декабря 2010

Синтаксис кажется правильным. Проверьте, пожалуйста, что вы используете правильное название столбца. Может помочь показ кода генерации таблицы и фактического кода запроса.

0 голосов
/ 07 декабря 2010

Вы также можете использовать это

public Cursor readText() {
  return getReadableDatabase().rawQuery("SELECT column_name FROM table_name", null);
}
0 голосов
/ 07 декабря 2010
public Cursor readText() {
      return getReadableDatabase().rawQuery("SELECT colName FROM myTable", new String[] {});
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...