Android Sqlite, PAS DANS la syntaxe
Je suis en train de lancer NOT IN
sélectionnez l'endroit où NOT IN
liste est dynamique. Quelque chose comme
SELECT id, type FROM CONTACTS where type NOT IN ('connect','answer')
Dans le code de mes vaines tentatives ont été:
db.query(TABLE, new String[] { "id", ""}, " type NOT IN (?)", "connect,answer",
null, null, null); // didn't work
db.query(TABLE, new String[] { "id", ""}, " type NOT IN (?)", "'connect','answer'",
null, null, null); //didn't work
De mon point de vue sur ce qu' ?
substitution traite ma virgule liste comme seul argument. J'ai trouvé une solution mais c'est assez moche donc je ne vais pas le poster ici jusqu'à ce que quelqu'un vient de l'avant avec quelque chose de plus élégant
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas placer un seul"? " au lieu d'une liste de valeurs. En tant que tel, il y a peu à gagner à essayer de paramétrer des listes. On peut, bien sûr, créer 2,4,16-valeur des déclarations préparées
..." type NOT IN (?,?)", new String[]{ "connect","answer" },...
mais même sur un serveur à distance avec des SGBDR, il a une valeur douteuse.Au lieu de cela, faire
si la liste est dynamique, vous aurez pour échapper à la les chaînes et les mettre dans une seule cité de la liste.
Vous pouvez utiliser des chaînes de caractères.format d'ensemble dynamique de la args.
par exemple:
=>
Vous pouvez utiliser dynamiquement "non" si vous de créer dynamiquement une Chaîne qui contient la liste de "pas en" valeurs puis les ajouter à la fin de votre chaîne sql comme suit: