2013-10-25 2 views
2

В моей деятельности у меня есть кок с данными, полученными из БД SQLite по этому запросу:Android удалить запись SQLite

private List<String> ottieniAnni(){ 
    List<String> result = new LinkedList<String>(); 

    SQLiteDatabase db = new BHelper(this).getReadableDatabase(); 

    String sql = "SELECT DISTINCT strftime('%Y',"+GTable.DATE+") FROM "+GTable.TABLE_NAME; 
    Cursor c = db.rawQuery(sql, null); 

    while (c.moveToNext()){ 
     result.add(c.getString(0)); 
    } 
    db.close(); 
    return result; 
} 

Теперь с помощью кнопки, я хочу, чтобы удалить все записи в год, выбранного пользователем. Я использовал метод db.delete(), но так будет удалять все записи. Должен ли я установить параметр, но не знаю, как это сделать:

SQLiteDatabase db= mHelper.getWritableDatabase(); 
    db.delete(GiornateTable.TABLE_NAME, null, null); 
    db.close(); 
+1

Вы можете найти ответ по поводу здесь ... [удалить все-сТОЛ-строки-из-SQLite-базы данных-таблицы] [1] [1]: http://stackoverflow.com/questions/8131526/remove-all-table-rows-from-sqlite-database-table – Srinivasan

ответ

3

Попробуйте как

SQLiteDatabase db= mHelper.getWritableDatabase(); 
int rowcount = db.delete(GiornateTable.TABLE_NAME, 
        "GIVE YOUR COLUMN NAME" + "=?", 
        new String[] { "GIVE YOUR VALUE" }); 
Log.d("No of record deleted",String.valueOf(rowcount)); 
2

вы можете использовать тот же синтаксис, что вы делаете с выбором, только для удаления

+0

Ottengo Il Valore Далла filatrice (filatrice Nel Formato Dati AAAA). ma vieni imposto Nel Metodo db.delete? 'String annodelete = yearSelector.getSelectedItem() toString(). Db.delete (GiornateTable.TABLE_NAME, GiornateTable.DATA + "? =", Annodelete); ' –