Отфильтровать результат из базы данных, где строка равна нулю - PullRequest
0 голосов
/ 25 октября 2018

Я хочу отобразить все строки из базы данных, где строка в указанном столбце пуста (данные не вставлены).Для этого в моем onCreateLoader я написал следующий код:

   override fun onCreateLoader(p0: Int, p1: Bundle?): Loader<Cursor> {
        val projection  = arrayOf(
            WalletEntry._ID,
            WalletEntry.KEY_TITLE,
            WalletEntry.KEY_MONEY,
            WalletEntry.KEY_LAST_DATE,
            WalletEntry.KEY_LAST_EXPENSE,
            WalletEntry.KEY_LAST_TRANSACTION_TITLE,
            WalletEntry.KEY_LOCALES,
            WalletEntry.KEY_CURRENCY
        )

        val selection = "${WalletEntry.KEY_CURRENCY} = ?"
        val selectionArgs = arrayOf("")


        return applicationContext?.let { context ->
            CursorLoader(context,
                    WalletEntry.CONTENT_URI,
                    projection,
                    selection,
                    selectionArgs,
                    null)
        }!!
    }

Где я хочу отобразить все результаты, где WalletEntry.KEY_CURRENCY не имеет значения со знаком, пусто.Я пытался указать selectionArgs как ноль, но это не сработало.Итак, как мне написать selectionArgs, чтобы отобразить все результаты, где данная строка пуста?

Чтобы прояснить ситуацию, я приведу цель приложения.Я изучаю kotlin и решил написать что-то вроде «банковского» приложения, в котором можно добавлять разные кошельки и указывать валюты.Если вы добавляете новую валюту, она мгновенно добавляется в базу данных в столбец WalletEntry.KEY_CURRENCY.Затем у меня есть список, содержащий все «кошельки», в котором после добавления новой валюты появляется пустой дополнительный кошелек.Чтобы избежать этого, я хочу фильтровать результаты и отображать только те, которые не имеют значения, переданного в столбец WalletEntry.CURRENCY.

1 Ответ

0 голосов
/ 25 октября 2018

Если вы ищете NULL значения в этом столбце базы данных, я думаю, что вы могли бы искать:

val selection = "${WalletEntry.KEY_CURRENCY} IS NULL"
val selectionArgs = null

Если аргумент selectionArgs не имеет значения NULL, попробуйте установить его в emptyArray<String>()

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