In my database I can have more then one same vale for COLUMN_WORD, and when I use ordinary query db.delete(DictDB.TABLE, DictDB.COLUMN_WORD + " = ?", new String[] {word} );
it deletes all columns with word 'word' as expected. So I made custom query to remove only selected (with onClick listener) result. Why this query doesn't work?
public void deleteOneResult(String word) {
SQLiteDatabase db = dbRjecnik.getWritableDatabase();
String q = "DELETE FROM " + DictDB.TABLE + " WHERE " + DictDB.COLUMN_WORD +
" IN (SELECT " + DictDB.COLUMN_WORD + " FROM " + DictDB.TABLE +
" WHERE " + DictDB.COLUMN_WORD + " = '" + word + "' LIMIT 1);";
try {
db.rawQuery(q, null);
} catch (Exception e) {
Snackbar.make(getCurrentFocus(), "Bad query", Snackbar.LENGTH_LONG).show();
}
db.close();
}
Aucun commentaire:
Enregistrer un commentaire