首页 > 解决方案 > 设置表值的正确语法是什么

问题描述

在我需要使用的 Dao 接口中

@Query("UPDATE table SET user_name = value")
fun addValue(value: String)

这里的值不被识别为函数 addValue( value :String)的输入

IDE 报告 value is an Unresolved symbol 如何使函数中的值被识别为 SQL 语句中的输入

我假设它可能与实体有关,我需要在我的数据库类中包含哪些实体

这里

@Database(Entities = MyEntity::class], version = 1)
abstract class MyEntityDatabase: Room database()

标签: sqldatabasekotlinsql-updateandroid-room

解决方案


房间提供冒号运算符来解析查询中的参数。因此,您的查询@Query("UPDATE table SET user_name = value")将更改为Query("UPDATE table SET user_name = :value")然后房间可以解决该参数。

所以它应该像

@Query("UPDATE table SET user_name = :argName")
fun addValue(argName: String)

推荐阅读