在Android中删除带有多个WHERE参数的SQLite行

时间:2011-07-18 18:02:23

标签: android sqlite

我想删除数据库中包含多个WHERE参数的记录。

我的数据库助手类有这个方法:

    public void deleteManualRow(String where){
    try {db.delete(TABLE_NAME_MANUAL, where, null);}
    catch (Exception e)
    {
        Log.e("DB ERROR", e.toString());
        e.printStackTrace();
    }
}

通过调试器将传递给此方法的“where”字符串视为:

eventName='Manual Event 6' AND eventStartTime='2011-07-18T05:40:00.000-0400' AND eventEndTime='2011-07-18T06:40:00.000-0400'

如果我想删除带有多个WHERE参数的记录,我应该如何构造这个WHERE子句?所有数据类型都是字符串。

2 个答案:

答案 0 :(得分:4)

喜欢这个db.delete(TABLE_NAME_MANUAL,"Column1='5' and column2 like '3'", null);

答案 1 :(得分:0)

你必须学习你的 sqlite api,接下来我从 Android flutter 示例中展示。

来自 sqlite_api.dart:

Future<int> delete(String table, {String where, List<dynamic> whereArgs});

所以你的结果代码将是:

await db.delete(tableName, where: 'place_id = ? and country_id = ?', whereArgs: [place_id, country_id]);