领域查询返回Android中设置的不完整结果

令人信服的

使用Realmtoinsertread/querydata时,我一直有非常不正常的行为这是准确的事情:

初始状态

当我开始向数据库中插入数据时,一切正常。我有以下代码要处理,autoIncrementingId因为我还没有找到Realm提供该功能的版本

CashOrder cashOrder = new CashOrder();

realm.beginTransaction();

int lastCashOrderId;
RealmResults<CashOrder> cashOrders = realm.where(CashOrder.class).findAll();

cashOrders.sort("id", Sort.ASCENDING);

if (cashOrders.isEmpty()){
    cashOrder.setId("0");
}else{
    lastCashOrderId = Integer.parseInt(cashOrders.last().getId());
    cashOrder.setId(String.valueOf(lastCashOrderId + 1));
}

//the rest of the code here 

//then copyToRealm here;

realm.copyToRealm(cashOrder);
realm.commitTransaction();

问题

将数据插入到database工作中就可以了,但是id值到达的那一刻10-从id开始,意味着表中有11个项目(0),我得到了一个Realm Primary Key Exception基本上抱怨我试图添加一个已经存在的对象的表。

我明确地打电话realm.copyToRealm(obj)而不是realm.copyToRealmOrUpdate(obj)因为那是我想要做的。仅当执行Edit时才允许更新

我被困在这里,似乎无法弄清楚是什么原因导致了此问题!

更多信息

我在用:

compile 'io.realm:realm-android:0.87.4'

非常感谢您的帮助!提前致谢!

史诗熊猫力量

这是因为你的ID是一个STRING,因此它是作为有序11023,... 9

这意味着当您已经插入时评估“下一个ID”时"10"

lastCashOrderId = Integer.parseInt(cashOrders.last().getId()); 

lastCashOrderId将为9,您将10再次插入

解决方案:long长时间使用ID,或重新考虑您的自动递增ID(例如使用之类的UUID.randomString()东西)

更新到较新的Realm版本时,应该使用PSfindAllSorted()而不是findAll().sort()保持一致的行为。

编辑:请用于long newId = realm.where(CashOrder.class).max("age").longValue() + 1;评估新ID,并在进行交易时执行此操作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Bigquery API的查询结果中的架构不完整

来自分类Dev

Bigquery API的查询结果中的架构不完整

来自分类Dev

在Textarea中查询的TEXT不完整

来自分类Dev

/(userid)/ likes /(pageid)返回不完整的结果

来自分类Dev

Java Active Directory查询返回不完整的用户列表

来自分类Dev

Android:Rest API返回的响应不完整

来自分类Dev

无法在 SQL 查询中传递值:格式不完整

来自分类Dev

React Native中的FBSDKGraphRequest返回不完整的对象

来自分类Dev

PHP MYSQL结果不完整

来自分类Dev

如何查询不完整的输入

来自分类Dev

C:返回类型不完整

来自分类Dev

NavigationContext返回不完整的数据

来自分类Dev

QNetworkReply 返回不完整的 XML 数据

来自分类Dev

将SQL查询结果写入csv失败:行不完整

来自分类Dev

JPA / JPQL返回不完整的结果,其中xy IS NULL或xyz = 1

来自分类Dev

Android Proguard不完整的堆栈跟踪

来自分类Dev

查询中的语法错误。函数内Max语句中不完整的查询子句

来自分类Dev

未处理OleDBException:查询中的语法错误(不完整的查询子句)

来自分类Dev

Java 8中的Javadoc不完整?

来自分类Dev

IE 11中的HTML不完整

来自分类Dev

数据框中的清单不完整

来自分类Dev

在C ++中传递的参数不完整

来自分类Dev

Google Colab中的图形不完整

来自分类Dev

Firefox中的SVG渲染不完整

来自分类Dev

在Unity中更改KDE应用程序的颜色(系统设置不完整)

来自分类Dev

jquery.inputmask-在“不完整”回调中设置值会导致错误的操作

来自分类Dev

gdb类是不完整的类型,直到我在类构造函数中设置断点?

来自分类Dev

分数不完整

来自分类Dev

分数不完整

Related 相关文章

热门标签

归档