Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kotlin-在多行查询上注入Android Room SQL语言_Kotlin_Android Room - Fatal编程技术网

Kotlin-在多行查询上注入Android Room SQL语言

Kotlin-在多行查询上注入Android Room SQL语言,kotlin,android-room,Kotlin,Android Room,如何获得要注入的多行查询?它在带有Java类的Room上工作,但是Kotlin也支持它吗 例如,我在这里有2个查询,只有最上面的SQL查询(1行)被注入 我尝试按照操作,但找不到所需的设置 有一个问题表明此问题已得到解决,但我不确定如何实施该解决方案。您可以使用更具可读性的原始字符串: @Dao interface ItemDao { @Query(""" SELECT * FROM Item WHERE Item.id = :id ""

如何获得要注入的多行查询?它在带有Java类的Room上工作,但是Kotlin也支持它吗

例如,我在这里有2个查询,只有最上面的SQL查询(1行)被注入

我尝试按照操作,但找不到所需的设置


有一个问题表明此问题已得到解决,但我不确定如何实施该解决方案。

您可以使用更具可读性的原始字符串:

@Dao
interface ItemDao {
    @Query("""
        SELECT * FROM Item
        WHERE Item.id = :id
        """)
    fun loadItemById(id: Long): LiveData<Item>
}
@Dao
接口项DAO{
@查询(“”)
从项目中选择*
其中Item.id=:id
""")
fun loadItemById(id:Long):LiveData
}

这行吗?使用版本2.1.0-beta01的房间不。。。没有在其他版本中尝试过,所以在这种情况下,这可能是一个回归。。。(?)什么是“不起作用”?抛出异常?没有编译?我只是尝试了一下,“原始字符串”在Android Studio 3.6.2和room 2.2.5上运行。我所说的work是指SQL语法检查和高亮显示与单行SQL具有相同的行为。通过连接拆分字符串不会被选中或突出显示。谢谢。这一个适用于
@Query
,但不适用于
execSQL()
,从Android Studio 4.1.1和所有最新版本开始