2016-01-25 7 views
0

Метод ORMLite where.between() в queryBuilder никогда не работает. Я всегда получаю 0 результат, хотя я успешно вставил данные в ту же таблицу. Я использую версию ORMLite 4.48 с Android Studio.Я всегда получаю 0 результатов для queryBuilder(). Where(). Between()

Объявление переменной внутри ORMLite класса модели

@DatabaseField(canBeNull = false, columnName = "time_stamp", dataType = DataType.DATE_LONG) 
Date dateValue; 

Я вставляя данные, как показано ниже,

Date currentDate = new Date(System.currentTimeMillis()); 

Я запрашивая, как показано ниже,

Date currentDate = new Date(System.currentTimeMillis()); 
Date lastDate = new Date(System.currentTimeMillis() - TimeUnit.HOURS.toMillis(24)); 
Where where = dbHelper.getFeedbackDao().queryBuilder().where(); 
where.eq("dealID", dealId); 
where.and(); 
where.between("time_stamp", currentDate, lastDate); 
feedbacks = where.query(); 

ответ

0

Если посмотреть на Javadocs for the Where.between(...) method следующие параметры:

public Where<T,ID> between(String columnName, Object low, Object high) throws SQLException 

Обратите внимание, что значение low на первом месте, а значение high - второе. Это зеркало SQL BETWEEN operation. К сожалению, вы параметры перепутаны:

where.between("time_stamp", currentDate, lastDate); 

Просто включите currentDate и lastDate порядок параметров и он должен работать.