Je voulais faire de la requête dans la table pour un identifiant de champ avec des valeurs comme 1,5,4,11 qui proviendront de l'écran précédent en fonction de la sélection.
cursor = database.query(tablename,
new String[] { "TopName" }, "id =?", new String[]{"2,3"}, null, null, null);
6 Réponses :
Pour la section Selectargs, je pense que vous devez modifier: à p>
Ce n'est pas ce que l'OP recherche, et cela entraînerait une erreur car le nombre d'arguments fournis est différent du nombre de champs ? Code>. La réponse de Volkerk est correcte.
Oh ok ... je vois ça maintenant. J'ai la même question que ud_an alors. Comment utilisez-vous l'opérateur "dans" dans la requête ci-dessus?
Vous pouvez utiliser l'opérateur dans l'opérateur comme celui-ci,
cursor = database.query(tablename, new String[] {"TopName"}, "id IN(?,?)",
new String[]{"2","3"}, null, null, null);
Et si nous voulons correspondre à une colonne de plus avec la même scène?
Volkerk a été la première à répondre correctement à la question, mais pour des raisons d'exhaustivité, voici un exemple complet de la manière d'utiliser l'opérateur dans l'opérateur:
cursor = database.query(tablename,
new String[] { "TopName" }, "id IN (?)", new String[]{"2,3"}, null, null, null);
La syntaxe correcte pour l'utilisation de l'opérateur dans l'opérateur dans l'exploitation de contenu de Android est la suivante: Alternativement, nous pouvons également utiliser, P> cursor = database.query(contentUri, projection, "columnName IN(?)", new String[] {" 'value1' , 'value2' "}, sortOrder);
Je voudrais mettre cela ici puisqu'un Compendium de réponses m'a aidé à mettre plusieurs valeurs (inconnues) dans grâce à p> SQLITEDATABASE.Query () code> et la marque d'une seule question ne fonctionnait pas pour moi. L'espoir aide toute personne