Android:删除数据库中的特定行

Android:删除数据库中的特定行,android,sqlite,Android,Sqlite,如果这看起来很明显,我很抱歉。我正在尝试编写一个从字符串showId中删除行的方法。最好的方法是什么?游标只能用于选择还是用于删除和更新? 以下是我目前使用的两种方法: public int deleteShowById1(String showId){ Cursor cursor = db.rawQuery("DELETE FROM tblShows WHERE showId = '" + showId+"'", null); if (cursor.moveToFirst())

如果这看起来很明显,我很抱歉。我正在尝试编写一个从字符串showId中删除行的方法。最好的方法是什么?游标只能用于选择还是用于删除和更新? 以下是我目前使用的两种方法:

public int deleteShowById1(String showId){
    Cursor cursor = db.rawQuery("DELETE FROM tblShows WHERE showId = '" + showId+"'", null);
    if (cursor.moveToFirst()) {
        return 1;
    } else
        return -1;
}

    public int deleteShowById2(String showId) {
    String table_name = "tblShows";
    String where = "showId='"+showId+"'";
    return db.delete(table_name, where, null);
}

我倾向于使用第二种方法(
db.delete
),因为我认为不赞成使用
rawQuery


如果您进行选择,然后循环光标进行更新或删除,这是有意义的,但是传递光标进行删除或更新对我来说没有意义,因为程序不知道如何解析光标结果以获得正确的字段。

我倾向于使用第二种方法(
db.delete
),我认为使用
rawQuery
是不可取的


如果你做一个选择,然后通过光标循环进行更新或删除,这是有意义的,但是传递光标进行删除或更新对我来说没有意义,因为程序不知道如何解析光标结果以获得正确的字段。

正如我们从mysql查询中了解到的,在android中也是如此

    String query = "DELETE FROM " +TABLE_NAME+ " WHERE "  + COLUM_NAME+ " = " + "'"+VALUE +"'" ;

    SQLiteDatabase db = this.getWritableDatabase();
    db.execSQL(query);
    db.close();

根据数据类型,值可能有也可能没有单个引号

正如我们从mysql查询中了解到的,在android中也是如此

    String query = "DELETE FROM " +TABLE_NAME+ " WHERE "  + COLUM_NAME+ " = " + "'"+VALUE +"'" ;

    SQLiteDatabase db = this.getWritableDatabase();
    db.execSQL(query);
    db.close();
根据数据类型,值可能有也可能没有单个引号