Android中的SQLite无法删除具有多个where子句的行

时间:2016-12-25 16:32:59

标签: android sqlite android-sqlite

好的,所以如果满足两个条件,我试图让我的数据库删除整行。我尝试使用SDK提供的delete(String tableName, String whereClause, String[] whereArgs)方法

但是,只有当我放入ONE where子句时才删除行,例如:

mDatabase.delete(ItemTable.NAME, ItemTable.cols.NAME + " = ?", new String[] {latestItem.getName()});

其中试图放入多个WHERE子句会破坏整个事情

mDatabase.delete(ItemTable.NAME, ItemTable.cols.NAME + " = ? AND " + ItemTable.cols.PRICE + " = ?", new String[] {latestItem.getName(), String.valueOf(latestItem.getPrice())});

我完全没有关于如何解决这个问题的想法。任何和所有的帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

好的,我弄清楚出了什么问题。

结果检查项目名称返回TRUE的条件,但项目价格条件不是。显然,itemprice()数据的sqlite数据亲和性不匹配。

我通过强制所有列数据亲和力为TEXT并通过String.valueOf(getItemprice())将我的商品价格存储为字符串来解决此问题。一切都是这样的。

感谢您的帮助!