我在fragment
上有一个EditText
,我想直接在这里输入一个查询,没有为这个函数预先安装Query注解。
@Query(":query")
fun getList(query: String): Flow<List<String>>
在我视图中模型:
getList("SELECT * FROM my_table").collect {
// retrieve data
}
但是,此方法会引发错误:
error: Must have exactly 1 query in the value of @Query or @DatabaseView
是否可以直接通过UI向ROOM database
写入查询?
1条答案
按热度按时间s3fp2yjn1#
首先,向用户提供对数据库的访问是错误的,一个错误的查询就可能删除重要的数据。
也就是说,这个错误是因为room为了验证SQL查询而预先编译了查询,在编译的时候抛出了这个错误,所以我认为在room中完全动态的查询是不可能的。
但是你可以试试这个hack。