SQLite для Android пользовательское табличное представление (ПРЕДСТАВЛЕНИЕ SQL, не представление Android) несоответствие?

Я создал пользовательское представление в базе данных SQLite для приложения Android.
Я использую Sqliteman на Ubuntu для тестирования моих SQL-операторов, прежде чем я поместил их в свое приложение.
Я пытаюсь сделать простой избранный оператор на своем представлении.
Избранный оператор хорошо работает в SQLiteman, но когда я поместил тот же оператор в свой код, он бросает ошибку.

Оператор:

select * from item_view where parent_item_id = 0;

Представление (преобразованный в Java как Строка):

"create view if not exists item_view as select " +
    "item._id, item.status, item.name, item.position, " +
    "item.parent_item_id, item.note_id, item.other_id, " + 
    "note.contents, other.priority " +
"from item, note, other where item.note_id = note._id and item.other_id = other._id"

Ошибка:

07-16 14:21:15.153: ERROR/AndroidRuntime(5054): Caused by: android.database.sqlite.SQLiteException: no such column: parent_item_id: , while compiling: SELECT * FROM item_view WHERE parent_item_id = 0

Я сначала пытался назвать полевой объект parent_item_id в своем избранном операторе, но это не работало.
Затем я вытянул дб и открыл его с Sqliteman.
Поля были перечислены, как они были в исходных таблицах (_id, состояние, имя, и т.д.)
Таким образом, я выполнил SQL выше в Sqliteman и смог получить соответствующие данные без проблем, но я не могу заставить это работать в моем приложении так или иначе.
Я также заметил, что, отбрасывая представление, поскольку команда DROP TABLE работала в SQLiteman, но не в моем приложении.
Я задаюсь вопросом, пропускаю ли я, возможно, некоторое другое ПРЕДСТАВЛЕНИЕ определенная функциональность.
Я не видел никого или в документации андроида или в любой документации SQL все же.

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

7
задан leetheguy 16 July 2010 в 22:10
поделиться