我想从SQLite查询返回的Cursor中获取一个整数,但我知道整数可能为null。不幸的是我找不到任何允许我检查它的Cursor方法。
代码将是
mModifiedDate = cursor.getInt(cursor.getColumnIndex(MODIFIED_DATE));
我希望有一个可能的空值,这实际上是出于各种原因所希望的 - 字段是指第二个表被修改的时间,第一个表可以在第二个表之前填充。不幸的是,Cursor的文档说明是抛出异常,还是返回错误值或其他行为,由实现决定,而SQLiteCursor文档没有说明任何内容。
如果字段为空,此代码将执行什么操作?有没有办法在调用getInt()之前检查这个?
答案 0 :(得分:55)
有一个isNull()
- 方法,只需在事先检测空值时使用。请记住:对于返回布尔值而不是isX()
的方法来说,这很常见,它可能是一些混淆的来源:)
答案 1 :(得分:6)
根据我的经验,它返回0.如果0不是可能的答案,那么你可以检查0.如果这是一个可能的答案,那么你需要做pgsandstrom建议。