android - 如何确定一列是否为游标对象的 bool 值?

标签 android sqlite cursor

我在游标对象中有一个选择查询的结果。我在表中有一些 bool 列。 SQLite 中 bool 类型的值是 0 或 1,具体取决于它们分别是 false 还是 true。也有 int 类型的列,其值可以为 0 或 1 或其他整数值。我想从游标中返回一列的值,

if column is of boolean type
   return true if value = 1
   return false if value = 0
else 
   return the same value

我怎样才能做到这一点?

最佳答案

How to determine if a column is boolean from cursor object?

所以一开始,SQLite 没有 bool 类型 只有整数、字符串、 float 和 blob。所以我的建议是简单地测试 int 列的值,并根据结果执行适当的操作。

Cursor c = db.rawQuery(query, whereArgs);
int value = 0;
String[] intColumnNames = {columns};
int index = 0;
if (c.moveToFirst()) {
   while (index < intColumnNames.length) {
      do {
         value = c.getInt(c.getColumnIndex(intColumnNames[index]));
         switch (value) {
            case 0:
               // do some action
            break;
            case 1:
               // do some action
            break;
            default:
               // do some action for other cases
            break;
         }
      } while(c.moveToNext());
      index++;
   }
}

关于android - 如何确定一列是否为游标对象的 bool 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15334874/

相关文章:

android - 替代 setButton

android - 如何禁用 Android SQLite 日志文件?

Mysql游标仅获取第一行

android - 带有 CursorAdapter 的 Recyclerview 适配器

java - 单击按钮后管理 mysql 连接

java - 在不使用脚本引擎的情况下评估 kotlin 中的字符串表达式

SQLITE:显示每个类别的总计(总和)

Android:打开和关闭 SQLite 数据库

android - 如何通过SimpleCursorAdapter更新从数据库中查询到数据的listview?

android - 使 TextView 使用具有不同样式(常规和斜体)的自定义字体