【问题标题】:Adding / Query / Parse SQLite using Anko使用 Anko 添加/查询/解析 SQLite
【发布时间】:2017-09-06 15:30:26
【问题描述】:

tl;dr: 我在尝试让我的代码工作时遇到问题,现在我可以使用 Anko 创建数据库并插入列,但是当我尝试插入数据时以及当我在 sqliteman 上打开数据库我的列是空的 我也不知道如何检索 strings/Int 中的数据以发送到View

这显然工作正常我可以看到我的数据库使用正确名称的所有列创建

class MySqlHelper(ctx: Context) : ManagedSQLiteOpenHelper(ctx, "db_main") {

companion object {
    private var instance: MySqlHelper? = null

    @Synchronized
    fun getInstance(ctx: Context): MySqlHelper {
        if (instance == null) {
            instance = MySqlHelper(ctx.applicationContext)
        }
        return instance!!
    }
}


override fun onCreate(db: SQLiteDatabase) {
    db.createTable("db_main", true,
            "_id" to INTEGER + PRIMARY_KEY + AUTOINCREMENT + NOT_NULL,
            "name" to TEXT,
            "day" to INTEGER)

}

override fun onUpgrade(db: SQLiteDatabase, oldVersion: Int, newVersion: Int) {
       }

// Access property for Context
val Context.database: MySqlHelper
    get() = getInstance(applicationContext)

}

这应该可以,但它没有虽然我在数据库中有所有列并且我没有收到任何错误消息,但它们没有被添加

下面的代码在MainActivity中调用

val db = MySqlHelper(this)


fun addtosqllite(title: String, datepicker: DatePicker) {

db.use {
        insert("db_main",
                "_id" to 1,
                "name" to title,
                "day" to  datepicker.dayOfMonth)
     }
}

我不知道该怎么做 我需要从数据库中检索数据。我一直在阅读文档,但我不知道如何实现this

假设我有三列_idnameday 我正在做类似的事情

db.select("main_db","_id","name","day").exec {
parseSingle //something goes here to send the data to String/Int
}

【问题讨论】:

    标签: android sqlite kotlin anko


    【解决方案1】:

    我希望现在还为时不晚。你可以试试这个:

    database.use {
      select("main_db", "_id", "name","day").exec {
       parseList( object : MapRowParser<Map<String, Any?>> {
        override fun parseRow(columns: Map<String, Any?>): Map<String, Any?> {
          Log.e("Your result", columns.toString())
            return columns
          }
        }
       )
     }
    

    【讨论】:

    • 如果你想要所有列,简单地说:select("main_db").exec {,你想指定行:select("main_db", "name").exec { 例如。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-27
    • 1970-01-01
    相关资源
    最近更新 更多