Как проверить нулевое значение курсора?
Мне нужно проверить, является ли значение столбца нулевым. В документации сказано: 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 не соответствует действительности