0
我試圖執行以下查詢:Android的SQLite的rawQuery「WHERE」不工作
try {
if (db != null){
cursor = db.rawQuery("SELECT fp_id, COUNT(*) FROM rssi WHERE (mac = '20:aa:4b:d3:db:d6' and (rssi > -72 and rssi < -64)) OR (mac = '08:86:3b:f1:da:18' and (rssi > -63 and rssi < -55)) group by fp_id",null);
}
int cursorSize = cursor.getCount();
DatabaseUtils.dumpCursor(cursor);
}
我得到的CURSORSIZE = 0,這顯然意味着,rawQuery()不起作用。我通過刪除WHERE子句來測試它,它工作正常。在哪裏它不起作用。任何幫助表示讚賞...
如果沒有引發異常,那麼語法是有效的。因此,如果有0個結果,則指示是清楚的:根據定義的表達式將數據過濾掉*。所以爲什麼*?如果沒有看到*實際數據*(和類型)和*預期結果*,就不可能提供詳細的解釋。 – user2246674
沒有發生任何異常。我在SQLiteStudio上測試了上述查詢在目標數據庫上,它工作正常,並返回預期的結果,但在這裏它從來沒有工作... –
什麼是rssi?它是表格中的表格還是列表?這很令人困惑,因爲您將它用於「FROM rssi」和「rssi> -72」等。 – Oleksiy