2011-01-13 2 views
3

Библиотека SQLite C имеет метод, sqlite3_column_decltype(). Но я не могу найти места, где Android-API SQLite позволяет использовать этот метод. Есть ли способ получить объявленный тип столбца без запуска SQL (т. Е. Я могу избежать использования PRAGMA table_info)?Получите близость столбца SQLite на Android

Я мог бы использовать AbstractWindowedCursor.isBlob(), но он говорит, что он также вернет true, если поле NULL. Мне нужно что-то, что гарантирует мне значение, равное объявленному типу столбца.

ответ

0

Мне было интересно то же самое в последнее время. Самое близкое, что я нашел, состоит в том, что класс CursorWindow имеет методы с именем isString, и т. Д. Но неясно, основано ли это на аффинности; для интерфейса для этих методов требуется строка, а также информация столбца.

+1

Это похоже на тип значения, а не на тип столбца. – dan04

+0

Да, я также предполагал, что это тип значения. См. Мой [связанный вопрос] (http://stackoverflow.com/questions/4676056/in-android-is-abstractwindowedcursor-isblob-guaranteed-to-be-correct). –

+0

@Neil: Я видел ваш другой вопрос после того, как я отправил свой ответ. (Я также почему-то пропустил вашу ссылку на «AbstractWindowedCursor.isBlob», извините за это.) Для чего это стоит, я пошел с потоком SQLite и использую строки для каждого столбца на уровне SQLite, даже если тип данных Double, Long и т. д. Но я не использую blobs, и я вижу, как это осложнит ситуацию. –

Смежные вопросы