2013-10-25 80 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); ' –