2013-02-05 41 views
-1

我有一個函數應該刪除我的sqlite數據庫中的記錄。但它不是刪除,可能是錯誤的?android-無法刪除數據庫中的記錄

public boolean deleteLoc(String id) { 
    boolean deleteSuccessful = false; 

    try { 

     SQLiteDatabase db = this.getWritableDatabase(); 
     deleteSuccessful = db.delete(TABLE_NAME, "id =" + id, null) > 0; 

    } catch (NullPointerException e) { 
     e.printStackTrace(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 

    return deleteSuccessful; 

} 

它總是返回false。

回答

1

試試這個:

deleteSuccessful = db.delete(TABLE_NAME, "id ='" + id + "'", null) > 0; 

否則在表中沒有相應的記錄.......你檢查了你的表,你試圖刪除的條目嗎?

1

如果idstring型的話,你應該使用:

deleteSuccessful = db.delete(TABLE_NAME, "id ='" + id + "'", null) > 0; 

編輯:

如果idNumeric類型的話,你應該把它轉換爲long

long longId = Long.parseLong(id); 
deleteSuccessful = db.delete(TABLE_NAME, "id =" + longId, null) > 0;