Android studio Android或SqLite中的正确代码是什么?代码不工作

Android studio Android或SqLite中的正确代码是什么?代码不工作,android-studio,kotlin,android-sqlite,Android Studio,Kotlin,Android Sqlite,我正在我的应用程序中使用Sqlite数据库。我想搜索一个单词并返回从名称和区域搜索的所有结果 当我的代码仅在名称中搜索,但使用或仅与函数类似时,搜索工作正常 我试过使用OR和| | |,但不起作用 fun getWords(wordPrefix: String = ""): Cursor { return if(wordPrefix.isBlank()) { readableDatabase.query(DatabaseEntryContract.TABLE_NAME,

我正在我的应用程序中使用Sqlite数据库。我想搜索一个单词并返回从名称和区域搜索的所有结果

当我的代码仅在名称中搜索,但使用或仅与函数类似时,搜索工作正常

我试过使用OR和| | |,但不起作用

fun getWords(wordPrefix: String = ""): Cursor {
    return if(wordPrefix.isBlank()) {
        readableDatabase.query(DatabaseEntryContract.TABLE_NAME, null,
                null, null, null, null,
                "${DatabaseEntryContract.COLUMN_NAME} ASC")
    } else {
        readableDatabase.query(DatabaseEntryContract.TABLE_NAME, null,
                "${DatabaseEntryContract.COLUMN_NAME} || ${DatabaseEntryContract.COLUMN_REGION} LIKE?", arrayOf("$wordPrefix%"),
                null, null,
                "${DatabaseEntryContract.COLUMN_NAME} ASC")
    }
}
我希望输出可以在名称和区域中进行搜索。例如,如果我在搜索栏中输入A

结果应显示名称和区域中带有A的所有前缀。您可以尝试:-

fun getWords(wordPrefix: String = ""): Cursor {
    return if(wordPrefix.isBlank()) {
        readableDatabase.query(DatabaseEntryContract.TABLE_NAME, null,
                null, null, null, null,
                "${DatabaseEntryContract.COLUMN_NAME} ASC")
    } else {
        readableDatabase.query(DatabaseEntryContract.TABLE_NAME, null,
                "${DatabaseEntryContract.COLUMN_NAME} LIKE? OR ${DatabaseEntryContract.COLUMN_REGION} LIKE?",
                arrayOf("$wordPrefix%","$wordPrefix%"),
                null, null,
                "${DatabaseEntryContract.COLUMN_NAME} ASC")
    }
}

主席先生,如果我不单要搜索该栏的第一个字,而且还要搜索该栏内的任何字或字母,该怎么办。我应该更改什么?@Gumangan
“%$wordPrefix%”
%
是一个野生字符,因此搜索项目前后和搜索项目可以在任何地方。