13

我将所有数据作为对象存储在数据库中(例如,我使用整数而不是 int)以保持空值。

如果 Object 为 null,则将数据保存到 SQLite 数据库时,我使用:

statement.bindNull(index);

当我使用 aSQLiteManager 查看我的数据库时,似乎值已正确存储(Long 列的空字段为空值)。

但是如何从保持空信息的游标中读取值?

如果我使用:

cursor.getLong(7)

对于我有 null 的列,而不是 null 我得到 0。这并不奇怪,因为 getLong 返回 long 类型值,而不是 Long。但是我找不到任何返回 Long 的函数。有什么帮助吗?当然,我还需要获取为其他对象(整数、字符串等)保留空值的函数。

4

1 回答 1

41

您需要自己检查它是否为空。

Long l = null;
if (!cursor.isNull(7))
    l = cursor.getLong(7);
于 2013-10-30T23:40:16.760 回答