Estoy tratando de ejecutar NOT IN
seleccionar donde NOT IN
la lista es dinámica. Algo así comoAndroid Sqlite IN, NO EN Sintaxis
SELECT id, type FROM CONTACTS where type NOT IN ('connect','answer')
En el código de mis inútiles intentos fueron:
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
Mi opinión sobre esto es que ?
sustitución trata a mi lista coma como único argumento. Encontré una solución, pero es bastante fea, así que no la publicaré aquí hasta que alguien presente algo más elegante
Si las cadenas en cuestión son de una lista que usted proporciona en lugar de una lista que proporcione el usuario, entonces usted puede saber que están a salvo y ni siquiera tienen que escapar de ellos (a menos que contengan un '). –
Esa es prácticamente la solución con la que terminé. Esperaba un pequeño truco, pero supongo que no hay ninguno. Todavía quiero esperar un poco para ver si habrá alguna sugerencia alternativa. – Bostone
Más familiarizado con los criterios de Hibernate cuyo IN es bien compatible, sin embargo no se encuentra ningún equivalente en Android SDK. –