2013-05-18 9 views
5

voglio l'eliminazione di alcune righe della tabella info confrontano un'altra tabella type, mio codice va come di seguito. Non ricevo alcun errore o eccezione ancora non riesco a cancellare i dati. Vi prego diCant eseguire query di eliminazione correttamente utilizzando rawQuery

String query = "delete from info where _id in " + 
        "(select a._id " + 
        " from info a, type b," + 
        " where a.t_id = b._id and b.type_name = 'Petrol' )"; 

try{ 
    database.rawQuery(query,null); 
}catch (Exception e){ 
    e.printStackTrace(); 
} 
+1

Hai provato in esecuzione la parte SELECT per vedere di cosa si ritorna? – nicopico

+0

restituisce ID, ho controllato l'esecuzione di tutta la query utilizzando SQLite, lì il suo lavoro correttamente. Sono in grado di eliminare in SQLITE –

+0

Mi puoi dire l'output di 'selezionare a._id "+ " da informazioni di tipo b, "+ " dove a.t_id = b._id e b.type_name = 'Petrol '''? – Lucifer

risposta

11

suggerire Il metodo SQLiteDatabase.rawQuery() è significato per interrogazione -> SELECT.

A modificare i dati con SQL raw, è necessario utilizzare SQLiteDatabase.execSQL().

1
database.rawQuery(query,null).moveToFirst(); 

invece di

database.rawQuery(query,null); 
Problemi correlati