Курсор SQLite никогда не имеет полей в нем - PullRequest
0 голосов
/ 18 ноября 2011

Я пытаюсь получить поля из таблицы в базе данных SQLite. Я проверил, что данные находятся в таблице, используя команду sqlite3 и выполнив запрос, который я получил из курсора, используя отладчик для базы данных, на которую ссылается мой объект базы данных.

Вот мой код:

openForRead();

Cursor cursor = database.query(DATABASE_TABLE,
            null, // All columns
            null,
            null,
            null,
            null,
            "((" + latitude + " - " + KEY_LAT + ") * (" + latitude + " - " + KEY_LAT + ") + ( "
                    + longitude + " - " + KEY_LONG + ") * ( " + longitude + " - "+ KEY_LONG + "))",
            "10"
);

close();

Этот код генерирует SQL-запрос, такой как:

SELECT * FROM airport ORDER BY ((35.9314068 - latitude) * (35.9314068 - latitude) + ( -115.09285366 - longitude) * ( -115.09285366 - longitude)) LIMIT 10

У меня сейчас только 5 аэропортов в таблице, поэтому я не собираюсь превышать какой-то лимит памяти или что-то в этом роде.

Когда я запускаю этот запрос в sqlite3, я возвращаю данные.

Почему мой Курсор всегда пуст? Он пуст, даже если я установил все в null (что должно просто вернуть все ..)

Ответы [ 2 ]

0 голосов
/ 18 ноября 2011

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

0 голосов
/ 18 ноября 2011

убедитесь, что имена столбцов, которые вы указываете, верны ...

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