• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

如何使用Anko检查记录是否存在?

Android 来源:Kakashi 2次浏览

我正在学习使用anko从sqlite中获取数据。我可以成功打印数据(如果存在记录),但是当数据不存在时,我的应用程序总是会崩溃。如何使用Anko检查记录是否存在?

错误说:

parseSingle只接受一次入境

我知道错误的确切意思,我只是不知道如何解决它游标。

这里是查询代码:

fun getUserByUid(uid: Int): UserModel 
{ 
    val data = context.database.use { 
     val db = context.database.readableDatabase 
     val columns = UserModel.COLUMN_ID + "," + UserModel.COLUMN_NAME + "," + UserModel.COLUMN_API_KEY 

     val query = db.select(UserModel.TABLE_NAME, columns) 
       .whereArgs("(uid = {userId})", 
         "userId" to uid) 

     query.exec { 
      val rowParser = classParser<UserModel>() 
      parseSingle(rowParser) // this line that trigger error exception 
     } 
    } 

    return data 
} 

我试图找到count功能queryrowParser变量,以检查是否存在记录与否,但无法找到它。

===========解决方案如下:

从维基页面。 https://github.com/Kotlin/anko/wiki/Anko-SQLite#parsing-query-results

解析查询结果

因此,我们有一些光标,以及我们如何可以解析它变成普通班? Anko提供的函数parseSingle,parseOpt和parseList可以更简单地完成它。

方法描述 parseSingle(rowParser):T解析一行 parseOpt(rowParser):T?解析零行或一行 parseList(rowParser):List解析零行或多行 请注意,如果接收的游标包含多行,则parseSingle()和parseOpt()将引发异常。


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)