2014-02-15 6 views
1

У меня возникли проблемы с получением нулевого значения из базы данных SQLite с помощью Android.Как получить значение null из базы данных SQLite в Android

В моей базе данных 10 столбцов. В столбцах с 1 по 8 все заполняются значениями. Но есть несколько строк, где значения в столбце 9 и столбце 10 являются либо нулевыми, либо некотором числом.

Я хочу, чтобы проверить:

String selectQuery = "SELECT * FROM products WHERE barcodeId='" + id + "'"; 

Cursor myCursor = db.rawQuery(selectQuery, null); 
if (myCursor.moveToFirst()) { 

    //checking to see if there is something in column 9 
    if(myCursor.getString(8) != null){ 
     // do soemthing 
    }else { 
     // if there is nothing do something 
    } 

    //checking to see if there is something in column 10 
    if(myCursor.getString(9) != null){ 
     // do soemthing 
    }else { 
     // if there is nothing do something 
    } 
} 

Может кто предоставить рабочий код, по моему примеру с колонкой 9 и 10 в моей таблице.

Также будет приветствоваться краткое объяснение. Спасибо

ответ

3

Я не знаю, вернет ли Cursor.getString() нуль или нет. Документы не говорят, он может просто вернуть пустую строку. Вместо этого вы должны использовать Cursor.isNull(), чтобы проверить нулевое значение в столбце.

1

Спасибо DavidCAdams, который исправил мою проблему.

Вот мой код, если кто-то заинтересован в нем.

if(myCursor.isNull(8)){ 
    Log.w("No value", "Cell is empty"); 
}else{ 
    Log.w("Value is present", "There is a value"); 
} 

if(myCursor.isNull(9)){ 
    Log.w("No value", "Cell is empty"); 
}else{ 
    Log.w("Value is present", "There is a value"); 
} 
+0

добро пожаловать в stackoverflow –

Смежные вопросы