如果列为null,SQLiteCursor会做什么?

And*_*yld 31 sqlite android cursor

我想从SQLite查询返回的Cursor中获取一个整数,但我知道整数可能为null.不幸的是我找不到允许我检查这个的任何Cursor方法.

代码将是

mModifiedDate = cursor.getInt(cursor.getColumnIndex(MODIFIED_DATE));
Run Code Online (Sandbox Code Playgroud)

我希望有一个可能的空值,这实际上是出于各种原因所希望的 - 字段是指第二个表被修改的时间,第一个表可以在第二个表之前填充.不幸的是,Cursor的文档说,无论是抛出异常,还是返回错误值,还是其他行为都留给实现,而SQLiteCursor文档没有说明任何内容.

如果该字段为空,此代码将执行什么操作?有没有办法在调用getInt()之前检查这个?

pgs*_*rom 55

有一个isNull()方法,只是事先用来检测空值.记住:对于返回布尔值isX()而不是命名的方法来说,这是很常见的getX(),它可能是一些混乱的来源:)


Pea*_*oto 6

根据我的经验,它返回0.如果0不是可能的答案,那么你可以检查0.如果它是一个可能的答案,那么你需要做pgsandstrom建议.

  • 0是一个可能的答案,因此我需要一个更好的方法; 我确实做了@pgsandstrom建议的事情. (2认同)