使用datetime通过eq()进行ormlite查询

时间:2018-07-13 07:59:36

标签: android sqlite ormlite

我要更新日期时间等于

这是我的情况。

  
      
  1. selet对象。该对象已更新字段-datatime
  2.   
  3. 调用网络api
  4.   
  5. 如果更新相同,则更新(1)的同步状态字段。
  6.   

这是为了防止在HTTP调用期间另一个任务更新后被覆盖。

这是我的代码。

Apply.java
public Date getUpdateDate() {
    return updateDate;
}

....
UpdateBuilder<Apply, Integer> updateBuilder = applyDao.updateBuilder();
try {
        if (apply.getUpdateDate() == null) {
            updateBuilder
                    .where()
                    .eq(Apply.APPLY_SEQ_NO, apply.getApplySeqNo())
                    .and()
                    .isNull(Apply.UPDATE_DATE);
        } else {
            updateBuilder
                    .where()
                    .eq(Apply.APPLY_SEQ_NO, apply.getApplySeqNo())
                    .and()
                    .eq(Apply.UPDATE_DATE, apply.getUpdateDate());
        }

    updateBuilder.updateColumnValue(Apply.SYNC_STATE, newSyncState2);
    updateBuilder.updateColumnValue(Apply.UPDATE_DATE, new Date());
    affectedRows = updateBuilder.update();

ormlite的翻译如下。

update Apply set syncsate = 'S' where applyseqno = 1 and updatedate = ?

但是,结果总是失败的。

更新日期的值为2018-06-14 09:49:02.743000

我猜java.util.date与格式不匹配。

如何通过ormlite日期时间比较确切的样本日期时间?

0 个答案:

没有答案