如何从光标中获取布尔值(Java SQLite)

Posted

技术标签:

【中文标题】如何从光标中获取布尔值(Java SQLite)【英文标题】:How to get Bool from Cursor (Java SQLite) 【发布时间】:2021-12-17 20:06:06 【问题描述】:

例如,如果我做一个像这样的表

db.execSQL("create table myTable (" + "id integer primary key autoincrement," + "title text," + "isImportant numeric" + ");");

想要获得“头衔”,我愿意

String result;
Cursor c...;
int titleIndex = c.getColumnIndex("title");
do
  ...
  result = c.getString(titleIndex);
  ...
while (c.moveToNext());

与 c.getInt、c.getDoule 等相同。但没有 c.getBoolean。那么如何从该表中获取“isImportant”的值?

【问题讨论】:

【参考方案1】:

没有getBoolean() 方法,因为there is no Boolean data type in SQLite(尽管您可以将列定义为布尔值)。

如果您将列中的值存储为01,那么您可以像这样检索布尔值:

String result;
boolean isImportant;
Cursor c...;
int titleIndex = c.getColumnIndex("title");
do
    ...
    result = c.getString(titleIndex);
    isImportant = (c.getInt(isImportantIndex) == 1);
    ...
while (c.moveToNext());

【讨论】:

以上是关于如何从光标中获取布尔值(Java SQLite)的主要内容,如果未能解决你的问题,请参考以下文章

如何通过光标获取android中的时间戳列值?

如何在参考光标中返回布尔值? [复制]

如何使用光标和循环显示来自 sqlite 的片段的 recyclerview

如何在SQLite中存储布尔值

在 SQLite 中保存布尔值

如何从 ViewBag 中获取布尔值?