Android studio Android或SqLite中的正确代码是什么?代码不工作
我正在我的应用程序中使用Sqlite数据库。我想搜索一个单词并返回从名称和区域搜索的所有结果 当我的代码仅在名称中搜索,但使用或仅与函数类似时,搜索工作正常 我试过使用OR和| | |,但不起作用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,
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%”
即%
是一个野生字符,因此搜索项目前后和搜索项目可以在任何地方。