【发布时间】:2019-03-18 22:57:19
【问题描述】:
在我的项目中,在数据库中,我有一个书签表。我想从这个表中删除行。我编写了一个方法来删除带有 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();
}
【问题讨论】:
-
是
BOOKMARK_ID变量还是列名? -
@AyushGupta BOOKMARK_ID 是列名
-
那你为什么要用
+把它附加到字符串中? -
请不要对表名和字段使用硬编码。
-
@KlingKlang 好的,谢谢我明白了。在那种情况下,你是对的。 可能
TABLE_BOOKMARKS也是如此。
标签: android sqlite android-sqlite