2013-10-25 79 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 Dalla filatrice(filatrice Nel formato dati aaaa)。 ma vieni imposto Nel Metodo db.delete? '字符串annodelete = yearSelector.getSelectedItem()toString()。 Db.delete(GiornateTable.TABLE_NAME,GiornateTable.DATA +「?=」,annodelete); ' –