[英]Update statement in Realm android
我應該如何在 android 中使用領域數據庫更新已經存在的值?
我一直在嘗試更新它,但它是作為新值添加的,只是沒有覆蓋它
使用 Realm DB 中的所有字段更新現有對象的另一種方法是使用方法realm.copyToRealmOrUpdate()
:
Object obj = new Object();
obj.setField1(field1);
obj.setField2(field2);
realm.beginTransaction();
realm.copyToRealmOrUpdate(obj);
realm.commitTransaction();
如果您的對象有一個Primary Key ,則此方法將自動更新對象而不會出現重復的對象:)
更多信息: copyToRealmOrUpdate()
您可以使用 insertOrUpdate 方法來做到這一點。希望這有幫助
Realm.getDefaultInstance().executeTransaction(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
objectToEdit.setNewValue("string");
realm.insertOrUpdate();
}
});
Realm realm = Realm.getDefaultInstance();
OrderedRealmCollection<Practice> orderedRealmCollection =
realm.where(Practice.class)
.contains("key", "matchig value")
.findAll();
if(orderedRealmCollection.size()!=0){
Practice practice = orderedRealmCollection.first();
Realm.getDefaultInstance().executeTransaction(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
practice.setUpdate_practice_steps(""+steps);
realm.insertOrUpdate(practice);
}
});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.