簡體   English   中英

Realm android 中的更新語句

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM