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

时间:2011-10-13 11:15:00

标签: android sqlite cursor

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

代码将是

mModifiedDate = cursor.getInt(cursor.getColumnIndex(MODIFIED_DATE));

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

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

2 个答案:

答案 0 :(得分:55)

有一个isNull() - 方法,只需在事先检测空值时使用。请记住:对于返回布尔值而不是isX()的方法来说,这很常见,它可能是一些混淆的来源:)

答案 1 :(得分:6)

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