-1

我有一个函数应该删除我的 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;

}

它总是返回假。

4

2 回答 2

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;
于 2013-02-05T04:18:23.367 回答
1

试试这个:

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

否则表中没有相应的记录......你检查过你的表是否有你要删除的条目吗?

于 2013-02-05T04:21:49.823 回答