query sqlite android con più where

Ecco il mio codice sqlite corrente:

Cursor c = sqlDatabase.rawQuery("select docid as _id, recipeID from " + TABLE_RECIPE_NAME + " where " + KEY_ownerID + " = ? ", new String[] { ownerID}); 

Funziona bene, ma quando ho provato ad aggiungere molteplice a qualcosa di simile:

  • Come get l'ultima domenica prima della data corrente?
  • Arresti la tastiera sullo schermo visualizzata per l'emulatore Android?
  • Android, elaborazione di un video, frame YCrCb al video
  • Android: C'è un modo per simulare gli events D-Pad (API 10)?
  • Come aprire un nuovo frammento da un altro frammento
  • API API di v2 di Android Maps API
  •  Cursor c = sqlDatabase.rawQuery("select docid as _id, recipeID from " + TABLE_RECIPE_NAME + " where " + KEY_ownerID + " = ?, " + KEY_partnerID + " = ?, " + KEY_advertiserID + " = ?, " + KEY_chefID + " = ?", new String[] { ownerID, partnerID, advertiserID, chefID }); 

    Restituisce un errore. Quindi, come faccio a gestire molteplici?

  • due viste con lo stesso id
  • Vista di accesso del layout xml incluso
  • Utilizzando GSON in Android per analizzare un object complesso JSON
  • Android OutOfMemoryError :?
  • HTC Desire HD non accetta setParameter () con hardware.Camera
  • Come effettuare la seguente query in Firebase? (più di uno where la condizione)
  • 4 Solutions collect form web for “query sqlite android con più where”

    cambiare la query a:

     Cursor c = sqlDatabase.rawQuery("select docid as _id, recipeID from " + TABLE_RECIPE_NAME + " where " + KEY_ownerID + " = ? AND " + KEY_partnerID + " = ? AND " + KEY_advertiserID + " = ? AND " + KEY_chefID + " = ?", new String[] { ownerID, partnerID, advertiserID, chefID }); 

    Probabilmente devi usare AND . Si desidera una query che dovrebbe restituire il valore in Cursore popolato confrontando più valori. Quindi devi solo usare AND . Invece di utilizzare una comma(,) . La risposta sopra sembra corretta ma manca solo la spiegazione.

    Stai facendo corretto, ma devi solo usare AND e OR parole chiave tra each where la condizione secondo il tuo requisito. Quindi provare a utilizzare questa volta.

    Utilizza AND e OR per più clausole WHERE . Utilizzare parentesi se è necessario un raggruppamento logico o un ordine.

     SELECT * FROM employees WHERE (last_name = 'Smith' AND first_name = 'Jane') OR (employee_id = 1); 

    (fonte)

    Nota

    • Questa risposta aggiuntiva ometta la formattazione del codice Android perché rende l'SQL duro da leggere e comprendere. Il lettore può fare la propria formattazione.
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.