如何从Android中的SQLite数据库中获取空值

时间:2014-02-15 22:05:02

标签: android sqlite targetnullvalue

我无法使用Android从SQLite数据库中获取空值。

我的数据库有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列的工作代码。

也欢迎简要说明。 感谢

2 个答案:

答案 0 :(得分:5)

我不知道Cursor.getString()是否会返回null。文档没有说,它可能只返回一个空字符串。您应该使用Cursor.isNull()来检查列中的空值。

答案 1 :(得分: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");
}