2014-09-14 3 views
1

열 값이 null인지 확인해야합니다. documentation says : isNull returns TRUE if the value in the indicated column is null. 그래서, 나는 코드에서이를 구현하기 위해 노력하고있어 :커서의 null 값을 확인하는 방법은 무엇입니까?

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

그러나 열이 비어있는 경우에도, 나는 상태로 true을하지 않습니다. 왜 이런 일이 일어나는 걸까요?

감사합니다.

+1

어쩌면, 그것은 빈 문자열을 반환 사실이 아니다. 빈 문자열은'c.isNull()'으로 검사 할 때'false'를 반환합니다. –

+0

Null은 "empty"와 같지 않습니다. – Squonk

+0

아니요. Null은 'null'값이고, 빈 문자열은' ""입니다. –

답변

1
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); 
} 
+0

열의 존재 여부를 확인할 필요가 없습니다. 값을 확인해야합니다. –

+0

@MarkKorzhov lol. 업데이트 된 답변을 확인하십시오. – Simas

+0

도움이되지 않았습니다 ... –

-1
getColumnIndex(String columnName) 

주어진 열 이름의 0부터 시작하는 인덱스를 반환하거나 열이없는 경우 -1을 반환합니다.

당신의 열이 비어있을 때 getColumnIndex (문자열 COLUMNNAME)는 -1을 반환하고, -1과 isNull에 열이 비어있을 때

관련 문제