如何从数据库中读取布尔值(使用游标)?

时间:2014-09-08 12:59:34

标签: android sqlite cursor

为什么我不能从光标读取bool类型?我使用此代码:

private boolean readBooleanByKey(Cursor cursor, int key) {

    try {
        return cursor.getInt(key) > 0; // always return false 
    } catch (Exception e) {            
    }
}

这是数据库表中的DDL的一部分

  CREATE TABLE [dn_user_cars] (
     [id] [INTEGER PRIMARY KEY AUTOINCREMENT],   
     [archived] BOOLEAN; // this variable I cant read

2 个答案:

答案 0 :(得分:3)

要存储值,您可以使用整数值:

int flag = (boolValue) ? 1 : 0;

从整数"数字"读取值值为布尔值:

boolean flag2 = (intValue == 1) ? true : false;

答案 1 :(得分:1)

我认为SQLite中没有BOOLEAN数据类型。请参阅此处的一些文档:http://www.sqlite.org/datatype3.html