Как установить тип данных в привязке необработанных запросов SQLiteDatabase? - PullRequest
4 голосов
/ 04 ноября 2011

Аргументы в SQLiteDatabase необработанный запрос функция связана как Строка , и это вызывает у меня проблемы.

Пример запроса (привязка 50 ):

    SELECT ? < 68

возвращает: 0

    SELECT min(?, 68)

возвращает: 68

Такие результаты связаны с тем, что 50 связан как строка и запрос выглядитSELECT '50' < 68 ;, который возвращает false.

После сложного запроса, созданного во время выполнения, я должен использовать SQLiteDatabase.rawQuery.

Как связать данные как Целое число ?

Я нашел одно решение:

SELECT CAST( ? AS INTEGER ) < 68 ;

, но это выглядит ужасно.Есть ли другой путь?Я не могу найти подходящих методов в Android API.

1 Ответ

2 голосов
/ 10 июля 2012

Я понимаю, что это старый вопрос, но вы должны использовать compileStatement, за которым следует bindLong в результирующем классе SQLiteProgram.Это способ Google дать людям достаточно умный способ использовать SQL дополнительный толчок для компиляции операторов для повышения производительности.

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