在 sqlite 中获取查询的输出 - android

getting output of a query in sqlite - android

您可以使用预先提供的方法(例如 getInt(...)getString(...))从列中获取数据,但是如何从 SELECT 语句中获取数据呢? sqlite 我想做的声明:

SELECT COUNT(COLUMN_NAME) FROM TABLE_NAME

您将如何执行此查询,然后将结果提供给 int 变量?

你也这样做:

String sql = "SELECT COUNT(COLUMN_NAME) FROM TABLE_NAME";

因此,如果您使用 rawQuery() 创建一个 Cursor 对象:

Cursor c = db.rawQuery(sql, null);

Cursor 仅包含 1 列,您可以通过以下方式获取其值:

if (c.moveToFirst()) result = c.getInt(0);

其中 result 是预定义的 int 变量。
但是给返回的列起别名是个好习惯,比如:

String sql = "SELECT COUNT(COLUMN_NAME) AS counter FROM TABLE_NAME";

所以你可以通过它的名字得到它:

if (c.moveToFirst()) result = c.getInt(c.getColumnIndex("counter"));

创建一个 Dao CLASS,其中包含 returns 计数 TABLE_NAME

的计数方法
@Dao
abstract class TABLE_NAMEDao : BaseDao<TABLE_NAME> {
@Query("SELECT COUNT(id) FROM TABLE_NAME")
    abstract fun count(): Long
}