1. 程式人生 > >GreenDao查詢,有時會查不到資料,解決方法。

GreenDao查詢,有時會查不到資料,解決方法。

greendao 實體類的id 需要設定為Long

例如根據ID查詢資料

我這ID是long型別,

執行for迴圈第一次能查到,

第二次就查不到。

根據多次實驗,把ID轉成Long型別再執行查詢就沒有問題了,

@Override
public void updateIsSave(List<Integer> recordIdList) {
    QueryBuilder<LM_FlightRecord> queryBuilder = MyApplication.flightRecordDao.queryBuilder();
LM_FlightRecordDao flightRecordDao = MyApplication.flightRecordDao
; for (int i = 0; i < recordIdList.size() - 1; i++) { long currentId=recordIdList.get(i); List<LM_FlightRecord> list = queryBuilder.where(LM_FlightRecordDao.Properties.Id.eq(currentId)).list(); if (list != null && list.size() > 0) { LM_FlightRecord flightRecord = list.get(0
); flightRecord.setIsSave(1); flightRecordDao.insertOrReplace(flightRecord); } } }