Android Room: cómo usar correctamente LIKE en consultas con parámetros
¡Hola a todos! Soy nuevo en el desarrollo de Android con Kotlin y uso Room para trabajar con una base de datos local. Tengo una entidad User y quiero implementar la búsqueda de usuarios por nombre usando el operador SQL LIKE.
Aquí está mi DAO:
@Dao
interface UserDao {
@Query("SELECT * FROM users WHERE name LIKE '%:searchQuery%'")
suspend fun searchUsers(searchQuery: String): List<User>
}
Llamo a este método desde el ViewModel:
class UserViewModel(private val userDao: UserDao) : ViewModel() {
fun search(query: String) {
viewModelScope.launch {
val users = userDao.searchUsers(query)
// Procesar resultados
}
}
}
El problema es que la consulta no devuelve ningún resultado, aunque en la base de datos hay registros con nombres que contienen la cadena buscada. Probé pasar diferentes valores — nombres completos, partes de cadenas — nada
No answers yet.
Inicia sesión para dejar una respuesta