首页 > 解决方案 > 删除数据库中的命令

问题描述

在我的项目中,在数据库中,我有一个书签表。我想从这个表中删除行。我编写了一个方法来删除带有 ID 的行。但我的代码不起作用。

这是我的删除方法(删除数据库中的书签):

public void delete_bookmark(int id) {
        Log.e("delete_bookmark"," is running");
        SQLiteDatabase db = this.getWritableDatabase();
        db.execSQL("DELETE FROM " + TABLE_BOOKMARKS + " WHERE " + BOOKMARK_ID + " = " + id);
        db.close();
}    

这段代码在我的活动中:

public void deleteBookmark() {
     SQLiteHelper sqLiteHelper = new SQLiteHelper(this);
     sqLiteHelper.delete_bookmark(ads.getId());
     Log.e("bookmarktable", sqLiteHelper.get_bookmarks().toString());
     Toast.makeText(this, "از لیست علاقه مندی ها حذف شد", Toast.LENGTH_SHORT).show();
}

标签: androidsqliteandroid-sqlite

解决方案


试试这个

public void Delete(String tablename, String pos) {
    try {
        db.delete(tablename, "BOOKMARK_ID" + "='" + pos + "'", null);
    } catch (SQLException e) {
        e.printStackTrace();
    }
}

推荐阅读