代码之家  ›  专栏  ›  技术社区  ›  juztcode

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

  •  0
  • juztcode  · 技术社区  · 4 年前

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

    SELECT COUNT(COLUMN_NAME) FROM TABLE_NAME
    

    int 变量?

    0 回复  |  直到 4 年前
        1
  •  1
  •   forpas    4 年前

    你也是这样做的:

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

    所以如果你创建一个 Cursor 对象 rawQuery() :

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

    仅包含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"));
    
        2
  •  1
  •   suhas sasuke    4 年前

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