android - 无法删除数据库中的记录

时间:2013-02-05 04:08:12

标签: android sqlite

我有一个应该删除sqlite数据库中记录的函数。但它不是删除,可能是什么错误?

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。

2 个答案:

答案 0 :(得分:1)

如果id的类型为string,那么您应该使用:

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

修改

如果id的类型为Numeric,则应将其转换为long

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

答案 1 :(得分:1)

试试这个:

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

否则表格中没有相应的记录.......您是否在表格中检查了您要删除的条目?