Есть ли способ заставить тип параметра в rawQuery в Sqlite? - PullRequest
0 голосов
/ 20 марта 2019

В моей базе данных Sqlite у меня есть представление, которое создается следующим образом:

CREATE VIEW my_view AS 
SELECT 
...
CASE WHEN some_field IS NOT NULL THEN 1 ELSE 0 END as in_favorite

FROM my_table
...

Теперь в коде мне нужно отфильтровать все результаты в зависимости от условия: я хочу либо все результаты, либо только те, которые имеют 1 вэто поле.Вот мой код.

db.rawQuery("SELECT * FROM verb_info WHERE in_favorite != ?",
            arrayOf(if(myBooleanFlag) "0" else "-1")).use { c ->
                // ....
            }

Проблема здесь в том, что когда myBooleanFlag=true этот запрос кажется переведенным в SELECT * FROM verb_info WHERE in_favorite != '0', и он возвращает мне все строки.

Можно ли задать тип параметра для rawQuery как int, чтобы сделать этот запрос похожим на SELECT * FROM verb_info WHERE in_favorite != 0?

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