我无法使用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列的工作代码。
也欢迎简要说明。 感谢
答案 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");
}