2016-12-25 48 views
-1

好的,所以我試圖讓我的數據庫刪除整行,如果滿足兩個條件。我已經使用delete(String tableName, String whereClause, String[] whereArgs)方法試圖從SDK中提供Android中的SQLite無法刪除具有多個where子句的行

但是,如果我把一個行僅刪除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

'WHERE'子句(如果有)總是** ONE **。您可以爲其添加更多條件。你的條件可能不是同時成立的。 –

+1

@MD好吧,我沒有holyday永遠,因爲我自己。所以,將自己在Android編程和學習Blender 3D之間劃分。你可以在FB上看到我最近的3D作品。 –

+1

@Rotwang太棒了。我希望我能像你一樣。 –

回答

0

好吧,我想出了什麼是錯的。

結果檢查項目名稱的條件返回TRUE,但項目價格條件不是。顯然,與itemprice()數據的sqlite數據親和力不匹配。

我解決了這個問題,它強制所有列數據的相似度爲TEXT,並通過String.valueOf(getItemprice())將我的物品價格存儲爲字符串。一切都這樣工作。

感謝所有的幫助!