我保留所有数据作为对象存储在数据库中(例如,而不是int我使用Integer)以保持空值。
如果Object为null,则在将数据保存到SQLite数据库时,我使用:
statement.bindNull(index);
当我使用SQLiteManager查看我的数据库时,似乎正确存储了值(Long列的空字段为空值)。
但是如何从游标保存空信息中读取值?
如果我使用:
cursor.getLong(7)
对于我有null的列,而不是null我得到0.因为getLong返回long类型值而不是Long,这并不奇怪。但是我找不到任何返回Long的函数。有帮助吗?当然我还需要为其他对象(整数,字符串等)保留空值的函数。
答案 0 :(得分:36)
您需要检查自己是否为空。
Long l = null;
if (!cursor.isNull(7))
l = cursor.getLong(7);