Android: sqlite: cursor: getColumnIndex

У меня довольно сложный запрос (несколько соединений) в нормализованной базе данных sqlite. Запрос выполняет SELECT *, чтобы включить некоторую автоматическую логику выбора атрибута (поэтому я не могу исключить "*")

Проблема, с которой я столкнулся, заключается в том, что мой набор результатов содержит несколько столбцов с одинаковым именем атрибута. Например, один общий атрибут для каждой таблицы в запросе - «_id». Когда я перехожу к вызову "cursor.getColumnIndex (" _ id ")" , возвращаемое значение всегда является индексом последнего атрибута "_ id" в списке столбцов набора результатов (т. Е. Не тот, который я хочу). Я бы хотел иметь возможность использовать префиксы псевдонимов SQL, такие как cursor.getColumnIndex ("A._id") , но это не работает.

ВОПРОСЫ

Похоже, что cursor.getColumnIndex (AttributeName) возвращает индекс последнего «AttributeName». Кто-нибудь может это подтвердить? Кроме того, есть предложения о том, как вернуть индекс 1-го атрибута с «AttributeName»? или лучше X-й атрибут, имеющий "AttributeName"?

12
задан celoftis 1 November 2011 в 13:27
поделиться