2016-01-20 1 views
1

Мне нужно удалить определенную строку из таблицы в моей базе данных SQLite.
Эта таблица содержит пути к файлам.
И мне нужно удалить пути, содержащие определенные расширения.
И у меня проблемы с этим.
Ничего не осталось в моей базе данных.Не удалось удалить строку в базе данных SQLite в моем приложении

Например, имя моей таблицы ALL_PATHS и имя столбца PATH_NAME Так я это делаю.
Я буду очень рад за любую помощь спасибо

private void deletePath(String extension){ 
    Database db = getWritableDatabase(); 
    String query = "DELETE FROM " + ALL_PATHS + " WHERE lower(" + PATH_NAME + ") LIKE '%" + extension + "'"; 
    Cursor cursor = db.rawQuery(query, null); 
} 
+0

проверить запрос С помощью SQLite инструментов является ли это правильно или нет –

ответ

5

Ошибка является:

Cursor cursor = db.rawQuery(query, null); 

Хотя это должно быть

db.execSQL(query); 

Поскольку DELETE является команда, не a запрос (SELECT)

+1

Спасибо! Я постараюсь изменить свой код –

+1

Человек! Спасибо! Ты помог мне решить эту проблему! –

+0

Я рад это знать! –

0

ценности использования контента

String table = "beaconTable"; 
String whereClause = "_id" + "=?"; 
String[] whereArgs = new String[] { String.valueOf(row) }; 
db.delete(table, whereClause, whereArgs); 
+1

Но в моем случае нужно удалить строки, содержащие специальное расширение в пути. Поэтому мне нужно использовать ключевое слово LIKE. И в вашем случае мы проверяем, если они равны. –

Смежные вопросы