Получение имени таблицы в результатах курсора, Android, SQLite

Я пишу приложение для Android с участием автомобилей и запчастей.

То, что я пытаюсь сделать, это предложить ListView всех частей в БД, за исключением частей, уже назначенных для конкретного автомобиля.

Я могу получить желаемые результаты с помощью следующего запроса с оператором EXCEPT.

SELECT DISTINCT Parts._id, Parts.PartNumber, Parts.PartName,  Parts.MFG, Parts.Barcode, Parts.Notes, Parts.Photo
FROM Parts
JOIN CarsToParts
WHERE CarsToParts.CarID != carID
EXCEPT
SELECT DISTINCT Parts._id, Parts.PartNumber, Parts.PartName,  Parts.MFG, Parts.Barcode, Parts.Notes, Parts.Photo
FROM Parts
JOIN CarsToParts
WHERE CarsToParts.CarID = carID AND CarsToParts.PartID = Parts._id

У меня проблема в том, что я получаю результат Cursor, который включает в себя имя таблицы как часть названий ключей следующим образом:

I/System.out: >>>>> Dumping cursor 
android.database.sqlite.SQLiteCursor@39719c0
I/System.out: 0 {
I/System.out:    Parts._id=21
I/System.out:    Parts.Photo=<unprintable>
I/System.out:    Parts.PartName=Oil Filter
I/System.out:    Parts.PartNumber=116 354 733
I/System.out:    Parts.MFG=Mercedes Benz
I/System.out:    Parts.Barcode=254485880
I/System.out:    Parts.Notes=
I/System.out: }
I/System.out: <<<<<

Когда я пытаюсь отправить это в CursorAdapter, он задыхается от этого.

Таблица CarsToParts имеет следующие столбцы:

_id
CarID
PartID

Таблица CarsToParts позволяет мне сопоставить одну и ту же деталь с двумя разными автомобилями, что часто возможно для автомобилей одного и того же производства.

Есть ли способ заставить SQLite не включать имя таблицы как часть имен ключей в выходных данных Cursor?

РЕДАКТИРОВАТЬ: После дальнейшего изучения я обнаружил, что CursorAdapter требует наличия столбца _id. Что, если только я могу заставить SQLite не включать имя таблицы как часть имен ключей.

1 ответ

Решение

Имена столбцов, возвращаемые запросом , не указаны, если вы не используете AS:

SELECT DISTINCT Parts._id AS _id, Parts.PartNumber AS PartNumber, ...
Другие вопросы по тегам