【问题标题】:Getting record count using Anko SQLite in Kotlin在 Kotlin 中使用 Anko SQLite 获取记录数
【发布时间】:2018-09-01 00:46:18
【问题描述】:

目前正在学习 Kotlin 并为 iOS 翻译一个应用程序,这包括在 SQLite 数据库上运行查询,我正在使用 Anko SQLite 扩展来运行查询,例如运行我正在使用的“SELECT * FROM QuoteType”

val quoteTypes = database.use {
        select(QuoteType.TABLE_NAME).exec { parseList(classParser<QuoteType>()) }
    }

我正在努力找出运行 SELECT COUNT(recordId) FROM QuoteType

谁能指出我正确的方向?

干杯

斯图尔特

【问题讨论】:

  • 问题解决了吗?

标签: kotlin anko


【解决方案1】:

我最终做的是声明一个数据类来保存结果

data class recordCountObject(val returnCount: Long)

然后使用普通的原始 SQL 查询

val quoteTypeCount = database.use {
            query<recordCountObject>("select count(*) AS returnCount FROM QuoteType")
        }

这让我将绑定返回到一个具体的对象

【讨论】:

    【解决方案2】:

    根据documentation,您应该使用附加列"count(recordId)" 调用select。您可以通过将额外的 String 参数传递给 select 方法来实现,或者使用查询生成器,在 select 方法返回的对象上调用 column("count(recordId)")

    【讨论】:

      【解决方案3】:

      为什么不使用 val quoteTypeCount = database.use { query("your_table", arrayOf("*"), null, null, null, null, null,null).count } quoteTypeCount 总是返回 Int 作为记录数

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-24
        • 1970-01-01
        • 2015-03-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多