如何从SQLite android中的表中删除一行?

时间:2012-01-03 05:27:15

标签: android sqlite

我已经完成了这个并且它无法正常工作。我得到了force close

public boolean favoriteDelete(int id) {
    return database.delete("FavoriteData", "Google" + "=" + id, null) > 0;
}

5 个答案:

答案 0 :(得分:39)

您只需使用sql查询即可删除。

public void delete(String id) {
        db.execSQL("delete from "+TBL_NAME+" where Google='"+id+"'");
    }

在您的查询中,您传递null代替whereArgs

db.delete(table, whereClause, whereArgs)

应该是这样的

db.delete(TBL_NAME, "Google=?", new String[]{Integer.toString(id)});

答案 1 :(得分:6)

试试这个

public boolean favoriteDelete(int id) {
    return db.delete(DATABASE_TABLE, KEY_ROWID +  "=" + id, null) > 0;
}

答案 2 :(得分:3)

database.delete("tablename", "column_name=?", new String[] {Integer.toString(id)});
  • where条件值应以字符串数组的形式给出

答案 3 :(得分:0)

在where子句中添加单引号...

return database.delete("FavoriteData", "Goggle" + "='" + id+"'", null) > 0;

答案 4 :(得分:0)

使用占位符比使用字符串操作更好。对于int来说没关系,但只要你把一个字符串放在那里就会出错。

String where = COLUMN_NAME_ADDRESS + " = ?";
String[] whereArgs = { String.valueOf(address) };

SQLiteDatabase db = mDbHelper.getWritableDatabase();
db.delete(TABLE_NAME_DEVICES, where, whereArgs);