Android:删除数据库中的特定行
如果这看起来很明显,我很抱歉。我正在尝试编写一个从字符串showId中删除行的方法。最好的方法是什么?游标只能用于选择还是用于删除和更新? 以下是我目前使用的两种方法: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())
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();
根据数据类型,值可能有也可能没有单个引号