从SQLite中删除多行的两种方法

时间:2014-09-23 10:04:23

标签: android android-sqlite

我尝试过两种不同的方法从数据库中删除多行。它们对我来说似乎是一致的,但行为是不同的:

#1按预期工作,删除具有指定ID的行

public void deleteCycles(ArrayList<Long> ids) {
    String idsString = TextUtils.join(",", ids.toArray());
    db.execSQL("delete from cycles where _id IN (" + idsString + ");");
}

#2删除一行(列出ids.size == 1)或不删除(大小!= 1)

public void deleteCycles(ArrayList<Long> ids) {
    String idsString = TextUtils.join(",", ids.toArray());
    db.delete(DatabaseHelper.TABLE_CYCLES, "_id IN (?)", new String[]{idsString});
}

有人可以解释一下,区别在哪里?提前谢谢。

1 个答案:

答案 0 :(得分:-1)

for(int i = 0; i&lt;(Your array list).length; i ++){

db.delete(mytablename,"Paragraph ='"+(Your array list)[i]+"'",null);
}