Как проверить нулевое значение курсора?

Мне нужно проверить, является ли значение столбца нулевым. В документации сказано: isNull returns TRUE if the value in the indicated column is null. Итак, я пытаюсь реализовать это в коде:

if (c.isNull(c.getColumnIndex("description")))
            description.setText("The column is null");
        else
            description.setText(c.getString(c.getColumnIndex("description")));

Но даже если столбец пуст, я не получаю true в состоянии. Почему это происходит?

Благодарю.

2 ответа

Решение
int index = c.getColumnIndex("description");
String str = c.getString(index);
if (str == null || str.isEmpty() || str.equalsIgnoreCase("null")) {
    description.setText("Empty!");
} else {
    description.setText(str);
}
getColumnIndex(String columnName)

Возвращает нулевой индекс для данного имени столбца или -1, если столбец не существует.

Когда ваш столбец пуст, getColumnIndex(String columnName) возвращает -1, а isNull с -1 не соответствует действительности

Другие вопросы по тегам