Java 如何使用通过kotlin传递的相同参数为IN子句使用多个值

Java 如何使用通过kotlin传递的相同参数为IN子句使用多个值,java,sql,kotlin,android-sqlite,android-room,Java,Sql,Kotlin,Android Sqlite,Android Room,为什么IN子句/运算符无法从表中检索type1、type2行 这是在main.kt文件中编写的 //if i write here **var type="type1"** then the DAO fetches correct result but i want to fetch both type1 and type2. So, I am writing it in following way and then passing the "type"

为什么IN子句/运算符无法从表中检索type1、type2行

这是在main.kt文件中编写的

//if i write here **var type="type1"** then the DAO fetches correct result
 but i want to fetch both type1 and type2. So, I am writing it in following way 
and then passing the "type" variable as "bind variable" in DAO 
but nothing is fetched and the output is blank//

var type="'type1','type2'"
var  sq = runBlocking {qdatabase(applicationContext).getquizdao().engquest(type).shuffled()}
这是用刀写的

@Query("SELECT * FROM tabledata WHERE Subject='English' AND Qtype IN(:types)")
suspend fun engquest(types:String):List<quizdata>

您必须传递数组或类型列表:

var type=listOf(“类型1”、“类型2”)
var sq=runBlocking{qdatabase(applicationContext).getquizdao().engquest(type).shuffled()}
@Query(“从tabledata中选择*,其中Subject='English'和Qtype IN(:types)”)
暂停趣味英语任务(类型:列表):列表

您必须传递数组或类型列表:

var type=listOf(“类型1”、“类型2”)
var sq=runBlocking{qdatabase(applicationContext).getquizdao().engquest(type).shuffled()}
@Query(“从tabledata中选择*,其中Subject='English'和Qtype IN(:types)”)
暂停趣味英语任务(类型:列表):列表
Question|Subject| Qtype |
------  |-------|------ |
Quest1  |English| type1 |
Quest2  |English| type2 |
Quest3  |English| type3 |