簡體   English   中英

如何在Android中使用Realm數據庫更新行?

[英]How to Update row using realm database in android?

這是我的代碼

if (userDetailRealmModel.getuID() != i) {
      userDetailRealmModel.setUser_id(userDetailModelArrayList.get(i).getUser_id());
      userDetailRealmModel.setFirstname(userDetailModelArrayList.get(i).getFirstname());
      userDetailRealmModel.setLastname(userDetailModelArrayList.get(i).getLastname());
      userDetailRealmModel.setEmail(userDetailModelArrayList.get(i).getEmail());
      userDetailRealmModel.setPhone_no(userDetailModelArrayList.get(i).getPhone_no());
      userDetailRealmModel.setLatitude(userDetailModelArrayList.get(i).getLatitude());
      userDetailRealmModel.setLongitude(userDetailModelArrayList.get(i).getLongitude());
      userDetailRealmModel.setIs_private(userDetailModelArrayList.get(i).getIs_private());
      userDetailRealmModel.setCreation_datetime(userDetailModelArrayList.get(i).getCreation_datetime());
      userDetailRealmModel.setUpdate_datetime(userDetailModelArrayList.get(i).getUpdate_datetime());

      realm.copyToRealmOrUpdate(userDetailRealmModel);
      //userDetailRealmModelArray.add(userDetailRealmModel);  
    }

我想更新我的數據庫,但是無法正常工作

如果您有包含userDetailModelArrayList列表的RealmObjects ,則可以使用以下命令更新數據庫

    if (userDetailRealmModel.getuID() != i){
       realm.beginTransaction();
       realm.copyToRealmOrUpdate(userDetailModelArrayList.get(i));
       realm.commitTransaction();
    }

它將使用對象的主鍵更新您的領域數據庫行。

如果列表中沒有領域對象,則必須按如下所示手動更新它:

   if (userDetailRealmModel.getuID() != i) {
          realm.beginTransaction();
          userDetailRealmModel.setUser_id(userDetailModelArrayList.get(i).getUser_id());
          userDetailRealmModel.setFirstname(userDetailModelArrayList.get(i).getFirstname());
          userDetailRealmModel.setLastname(userDetailModelArrayList.get(i).getLastname());
          userDetailRealmModel.setEmail(userDetailModelArrayList.get(i).getEmail());
          userDetailRealmModel.setPhone_no(userDetailModelArrayList.get(i).getPhone_no());
          userDetailRealmModel.setLatitude(userDetailModelArrayList.get(i).getLatitude());
          userDetailRealmModel.setLongitude(userDetailModelArrayList.get(i).getLongitude());
          userDetailRealmModel.setIs_private(userDetailModelArrayList.get(i).getIs_private());
          userDetailRealmModel.setCreation_datetime(userDetailModelArrayList.get(i).getCreation_datetime());
          userDetailRealmModel.setUpdate_datetime(userDetailModelArrayList.get(i).getUpdate_datetime());
          realm.copyToRealmOrUpdate(userDetailRealmModel);
          realm.commitTransaction(); 
        }

嘗試這個

if (userDetailRealmModel.getuID() != i) {
      userDetailRealmModel.setUser_id(userDetailModelArrayList.get(i).getUser_id());
      userDetailRealmModel.setFirstname(userDetailModelArrayList.get(i).getFirstname());
      userDetailRealmModel.setLastname(userDetailModelArrayList.get(i).getLastname());
      userDetailRealmModel.setEmail(userDetailModelArrayList.get(i).getEmail());
      userDetailRealmModel.setPhone_no(userDetailModelArrayList.get(i).getPhone_no());
      userDetailRealmModel.setLatitude(userDetailModelArrayList.get(i).getLatitude());
      userDetailRealmModel.setLongitude(userDetailModelArrayList.get(i).getLongitude());
      userDetailRealmModel.setIs_private(userDetailModelArrayList.get(i).getIs_private());
      userDetailRealmModel.setCreation_datetime(userDetailModelArrayList.get(i).getCreation_datetime());
      userDetailRealmModel.setUpdate_datetime(userDetailModelArrayList.get(i).getUpdate_datetime());

      realm.beginTransaction();
           realm.copyToRealmOrUpdate(userDetailRealmModel); //pass your object
           realm.commitTransaction(); 
    }

更新

請卸載您的應用程序,然后再次清理build-> rebuild and install。

檢查這個

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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