2015-02-11 14 views
5

Mi piacerebbe sapere se è possibile e come posso fare una clausola where in ActiveAndroid con una clausola "IN".ActiveAndroid dove con una clausola "in"

Per esempio, mi piacerebbe fare fare qualcosa di simile:.

nuovo Select() da (Tabella) .dove ("id a?", Lista) .execute()

risposta

9

La query dovrebbe funzionare quasi come è - ActiveAndroid riduce comunque il SELECT a SQL.

Ad esempio, la seguente query come opere per me:

public static List<Record> search(String searchTerm) { 
    return new Select().from(Record.class) 
      .where("Data LIKE ?", new String[]{'%' + searchTerm + '%'}) 
      .orderBy("Name ASC") 
      .execute(); 
} 

cui termine di ricerca è '% searchTerm%'

Se si hanno difficoltà, è possibile interrogare direttamente la DB, vale a dire:

mRecordList = SQLiteUtils.rawQuery(Record.class, 
      "SELECT * from Records where Data LIKE ?", 
      new String[]{'%' + searchTerm + '%'}); 
      */ 
+0

Cosa fare se abbiamo bisogno di recuperare i record rispetto al offests. Attualmente solo l'interrogazione del DB direttamente sta funzionando per me. –

+0

L'istruzione di selezione modificata sopra ha funzionato per me. –

1

nuovo Select(). da (Tabella) .dove ("id in (1,2)"). execute()