android-无法删除数据库中的记录
我有一个函数可以删除sqlite数据库中的记录。但这不是删除,有什么不对android-无法删除数据库中的记录,android,sqlite,Android,Sqlite,我有一个函数可以删除sqlite数据库中的记录。但这不是删除,有什么不对 public boolean deleteLoc(String id) { boolean deleteSuccessful = false; try { SQLiteDatabase db = this.getWritableDatabase(); deleteSuccessful = db.delete(TABLE_NAME, "id =" + id, null) &
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 如果
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;
试试这个:
deleteSuccessful = db.delete(TABLE_NAME, "id ='" + id + "'", null) > 0;
否则,表中没有相应的记录……。是否检查了表中要删除的条目