Что не так с этой линией?OrmLite не приводит результаты «где» с значениями «не равно» компаратора и нулевого столбца
qB.where().ne(AppConstant.SYNC_STATUS_FIELD_NAME, strSyncOK);
я делаю простой, где не равняется с ORMlite и приносит 0 результатов без ошибок:
полный код:
dao = DaoManager.createDao(connectionSource, clazz);
QueryBuilder qB = dao.queryBuilder();
SelectArg strSyncOK = new SelectArg(AppConstant.SYNC_OK); // ==> "OK" string
qB.where().ne(AppConstant.SYNC_STATUS_FIELD_NAME, strSyncOK);
List<T> var = dao.query(qB.prepare());
Когда я удалить строку
qB.where().ne(AppConstant.SYNC_STATUS_FIELD_NAME, strSyncOK);
все в порядке.
Когда линия есть, не найдено, я проверил данные и все данные с AppConstant.SYNC_STATUS_FIELD_NAME является нулевым
Параметр:
public static final String SYNC_OK = "OK";
Выход:
SELECT * FROM `Evento` WHERE `syncStatus` <> ?
я» m что-то не хватает?
Хорошо, хороший пример, имеет немного логики, должен быть более явным, что компараторы ... Хорошо, что же эквивалентно в ORMLite для "is not"? Я смотрю только 3 варианта: .isNull (поле), .isNotNull (поле) и .not (где) --- Я полагаю, это .not (где), как я могу его реализовать? –
Ну, вы можете сделать запрос 'и (...)' с помощью 'isNotNull (...)'. Другим решением является использование 'rawComparison (...)'. – Gray
да, я сделал это вчера, работает :) спасибо –