Est-il possible d'utiliser SQLite de l' IN
état de la Pièce?
Je suis en train de sélectionner une liste d'éléments de ma base de données où la valeur d'une certaine colonne (dans ce cas, un TEXT
colonne) correspond à un ensemble de valeurs de filtre. C'est assez facile à faire en SQL et SQLite, par ma connaissance, juste en ajoutant un IN
condition d' SELECT
déclaration (voir ici). Cependant, je n'arrive pas à le faire fonctionner avec la Salle.
Je reçois cette erreur:
Error:(70, 25) error: no viable alternative at input 'SELECT * FROM Table WHERE column IN :filterValues'
(où l'entrée de la DAO @Query
-annoté méthode est appelée filterValues
)
J'ai essayé trois méthodes différentes maintenant:
- En passant l'argument comme un
List<String>
- En passant l'argument comme un
String[]
- Et enfin en passant l'argument simplement comme l'
String
, mais formaté en(value_1, value_2, ..., value_n)
Le dernier, en particulier, devraient travailler facilement, comme il va (ou au moins, elle le devrait) de traduire directement à l' SELECT * FROM Table WHERE column IN (value_1, value_2, ..., value_n)
, ce qui est exactement la manière que vous le feriez manuellement écrire l' SELECT
si l'on vient d'accéder à la base de données directement.