gpt4 book ai didi

android - 如何使用 Room Persistence Library 从本地数据库更新文档?

转载 作者:行者123 更新时间:2023-11-29 02:27:08 25 4
gpt4 key购买 nike

提前致谢。这是我正在使用的界面。更新方法无效,所有其他方法均有效。

@Insert
void insertMultipleRecord(EnquiriesModel... enquiryEntities);

@Insert
void insertMultipleListRecord(List<EnquiriesModel> enquiriesModels);

@Insert
void insertOnlySingleRecord(EnquiriesModel enquiriesModel);

@Query("SELECT * FROM enquiries")
List<EnquiriesModel> fetchAllData();


@Update
void updateRecord(EnquiriesModel ... enquiriesModel);

@Delete
void deleteRecord(EnquiriesModel enquiriesModel);

@Query("DELETE FROM enquiries")
void nukeTable();

这是我正在使用的模型类

@Entity(tableName = "enquiries")

@PrimaryKey(autoGenerate = true)
private int id;

protected EnquiriesModel(Parcel in) {
id = in.readInt();
email = in.readString();
createdon = in.readString();
childname = in.readString();
relation = in.readString();
updatedon = in.readString();
dateofenquiry = in.readString();
followup = in.readString();
channel = in.readString();
academicYear = in.readString();
childDOB = in.readString();
country = in.readString();
countryCode = in.readString();
country_name_code = in.readString();
secodaryContact = in.readString();
secodaryCountry = in.readString();
secodaryCountryCode = in.readString();
secodarycountry_name_code = in.readString();
priority = in.readString();
_id = in.readString();
parentname = in.readString();
mobile = in.readString();
schoolid = in.readString();
enqNote = in.readString();
labelNames = in.readString();
labels = in.readString();
enquiriedPrograms = in.readString();
}

public static final Creator<EnquiriesModel> CREATOR = new Creator<EnquiriesModel>() {
@Override
public EnquiriesModel createFromParcel(Parcel in) {
return new EnquiriesModel(in);
}

@Override
public EnquiriesModel[] newArray(int size) {
return new EnquiriesModel[size];
}
};

@NonNull
public int getId() {
return id;
}

public void setId(@NonNull int id) {
this.id = id;
}
private String email;
private String createdon;
private String childname;
private String relation;
private String updatedon;
private String dateofenquiry;
private String followup;
private String channel;
private String academicYear;
private String childDOB;
private String country;
private String countryCode;
private String country_name_code;
private String secodaryContact;
private String secodaryCountry;
private String secodaryCountryCode;
private String secodarycountry_name_code;
private String priority;
private String _id;
private String parentname;
private String mobile;
private String schoolid;
private String enqNote;
private String labelNames;
private String labels;
private String enquiriedPrograms;

@Override
public String toString() {
return "EnquiriesModel{" +
"id=" + id +
", email='" + email + '\'' +
", createdon='" + createdon + '\'' +
", childname='" + childname + '\'' +
", relation='" + relation + '\'' +
", updatedon='" + updatedon + '\'' +
", dateofenquiry='" + dateofenquiry + '\'' +
", followup='" + followup + '\'' +
", channel='" + channel + '\'' +
", academicYear='" + academicYear + '\'' +
", childDOB='" + childDOB + '\'' +
", country='" + country + '\'' +
", countryCode='" + countryCode + '\'' +
", country_name_code='" + country_name_code + '\'' +
", secodaryContact='" + secodaryContact + '\'' +
", secodaryCountry='" + secodaryCountry + '\'' +
", secodaryCountryCode='" + secodaryCountryCode + '\'' +
", secodarycountry_name_code='" + secodarycountry_name_code + '\'' +
", priority='" + priority + '\'' +
", _id='" + _id + '\'' +
", parentname='" + parentname + '\'' +
", mobile='" + mobile + '\'' +
", schoolid='" + schoolid + '\'' +
", enqNote='" + enqNote + '\'' +
", labelNames='" + labelNames + '\'' +
", labels='" + labels + '\'' +
", enquiriedPrograms='" + enquiriedPrograms + '\'' +
'}';
}

public EnquiriesModel() {

}

public String getEmail() {
return email;
}

public void setEmail(String email) {
this.email = email;
}

public String getCreatedon() {
return createdon;
}

public void setCreatedon(String createdon) {
this.createdon = createdon;
}

public String getChildname() {
return childname;
}

public void setChildname(String childname) {
this.childname = childname;
}

public String getRelation() {
return relation;
}

public void setRelation(String relation) {
this.relation = relation;
}

public String getUpdatedon() {
return updatedon;
}

public void setUpdatedon(String updatedon) {
this.updatedon = updatedon;
}

public String getDateofenquiry() {
return dateofenquiry;
}

public void setDateofenquiry(String dateofenquiry) {
this.dateofenquiry = dateofenquiry;
}

public String getFollowup() {
return followup;
}

public void setFollowup(String followup) {
this.followup = followup;
}

public String getChannel() {
return channel;
}

public void setChannel(String channel) {
this.channel = channel;
}

public String getAcademicYear() {
return academicYear;
}

public void setAcademicYear(String academicYear) {
this.academicYear = academicYear;
}

public String getChildDOB() {
return childDOB;
}

public void setChildDOB(String childDOB) {
this.childDOB = childDOB;
}

public String getCountry() {
return country;
}

public void setCountry(String country) {
this.country = country;
}

public String getCountryCode() {
return countryCode;
}

public void setCountryCode(String countryCode) {
this.countryCode = countryCode;
}

public String getCountry_name_code() {
return country_name_code;
}

public void setCountry_name_code(String country_name_code) {
this.country_name_code = country_name_code;
}

public String getSecodaryContact() {
return secodaryContact;
}

public void setSecodaryContact(String secodaryContact) {
this.secodaryContact = secodaryContact;
}

public String getSecodaryCountry() {
return secodaryCountry;
}

public void setSecodaryCountry(String secodaryCountry) {
this.secodaryCountry = secodaryCountry;
}

public String getSecodaryCountryCode() {
return secodaryCountryCode;
}

public void setSecodaryCountryCode(String secodaryCountryCode) {
this.secodaryCountryCode = secodaryCountryCode;
}

public String getSecodarycountry_name_code() {
return secodarycountry_name_code;
}

public void setSecodarycountry_name_code(String secodarycountry_name_code) {
this.secodarycountry_name_code = secodarycountry_name_code;
}

public String getPriority() {
return priority;
}

public void setPriority(String priority) {
this.priority = priority;
}

public String get_id() {
return _id;
}

public void set_id(String _id) {
this._id = _id;
}

public String getParentname() {
return parentname;
}

public void setParentname(String parentname) {
this.parentname = parentname;
}

public String getMobile() {
return mobile;
}

public void setMobile(String mobile) {
this.mobile = mobile;
}

public String getSchoolid() {
return schoolid;
}

public void setSchoolid(String schoolid) {
this.schoolid = schoolid;
}

public String getEnqNote() {
return enqNote;
}

public void setEnqNote(String enqNote) {
this.enqNote = enqNote;
}

public String getLabelNames() {
return labelNames;
}

public void setLabelNames(String labelNames) {
this.labelNames = labelNames;
}

public String getLabels() {
return labels;
}

public void setLabels(String labels) {
this.labels = labels;
}

public String getEnquiriedPrograms() {
return enquiriedPrograms;
}

public void setEnquiriedPrograms(String enquiriedPrograms) {
this.enquiriedPrograms = enquiriedPrograms;
}

@Override
public int describeContents() {
return 0;
}

@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(id);
dest.writeString(email);
dest.writeString(createdon);
dest.writeString(childname);
dest.writeString(relation);
dest.writeString(updatedon);
dest.writeString(dateofenquiry);
dest.writeString(followup);
dest.writeString(channel);
dest.writeString(academicYear);
dest.writeString(childDOB);
dest.writeString(country);
dest.writeString(countryCode);
dest.writeString(country_name_code);
dest.writeString(secodaryContact);
dest.writeString(secodaryCountry);
dest.writeString(secodaryCountryCode);
dest.writeString(secodarycountry_name_code);
dest.writeString(priority);
dest.writeString(_id);
dest.writeString(parentname);
dest.writeString(mobile);
dest.writeString(schoolid);
dest.writeString(enqNote);
dest.writeString(labelNames);
dest.writeString(labels);
dest.writeString(enquiriedPrograms);
}

public static class Labelnames {
@Expose
@SerializedName("values")
private List<Values> values;

public List<Values> getValues() {
return values;
}

public void setValues(List<Values> values) {
this.values = values;
}

public static class Namevaluepairs {
@Expose
@SerializedName("colourCode")
private String colourcode;
@Expose
@SerializedName("name")
private String name;
@Expose
@SerializedName("_id")
private String Id;

public String getColourcode() {
return colourcode;
}

public void setColourcode(String colourcode) {
this.colourcode = colourcode;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getId() {
return Id;
}

public void setId(String Id) {
this.Id = Id;
}
}

public static class Values {
@Expose
@SerializedName("nameValuePairs")
private Namevaluepairs namevaluepairs;

public Namevaluepairs getNamevaluepairs() {
return namevaluepairs;
}

public void setNamevaluepairs(Namevaluepairs namevaluepairs) {
this.namevaluepairs = namevaluepairs;
}
}
}

public static class Enqnote {

public String staffname;
public String time;
public String action;
public String note;
public String Id;

public String getStaffname() {
return staffname;
}

public void setStaffname(String staffname) {
this.staffname = staffname;
}

public String getTime() {
return time;
}

public void setTime(String time) {
this.time = time;
}

public String getAction() {
return action;
}

public void setAction(String action) {
this.action = action;
}

public String getNote() {
return note;
}

public void setNote(String note) {
this.note = note;
}

public String getId() {
return Id;
}

public void setId(String Id) {
this.Id = Id;
}
}

我在 fragment 中这样调用更新。这里的 enquiriesModel 包含我的数据,按照 EnquiriesModel 类。我正在将数据从这样的 edittext 字段添加到查询模型。

AppDatabase  sampleDatabase = AppDatabase.getInstance(getActivity());
enquiriesModel.set_id(enquiriesModel.get_id());
enquiriesModel.setEmail(eMail.getText().toString().trim());
enquiriesModel.setCreatedon(enquiriesModel.getCreatedon());
enquiriesModel.setChildname(childName.getText().toString().trim());
enquiriesModel.setRelation(relation1.getText().toString().trim());
enquiriesModel.setUpdatedon(String.valueOf(tsLong));
enquiriesModel.setDateofenquiry(dateofenquiry);
enquiriesModel.setFollowup(followdate);
enquiriesModel.setChannel(channel.getText().toString().trim());
enquiriesModel.setAcademicYear(year.getText().toString().trim());
enquiriesModel.setChildDOB(birthTime);
enquiriesModel.setCountry(ccp.getSelectedCountryName());
enquiriesModel.setCountryCode(ccp.getSelectedCountryCodeWithPlus());
enquiriesModel.setCountry_name_code(ccp.getSelectedCountryNameCode());
enquiriesModel.setSecodaryContact(mobile2.getText().toString().trim());
enquiriesModel.setSecodaryCountry(ccp2.getSelectedCountryName());
enquiriesModel.setSecodaryCountryCode(ccp2.getSelectedCountryCodeWithPlus());
enquiriesModel.setSecodarycountry_name_code(ccp2.getSelectedCountryNameCode());
enquiriesModel.setPriority((pri_check.isChecked())?"1":"0");
enquiriesModel.setParentname(name.getText().toString().trim());
enquiriesModel.setMobile(mobile.getText().toString().trim());
enquiriesModel.setSchoolid(currentSchool.getSchoolid());
Gson gson = new Gson();
String enqNote = gson.toJson(enqNoteArray);
String programarray = gson.toJson(programArray);
enquiriesModel.setEnqNote(enqNote);
String label = gson.toJson(labelsarray);
JSONArray arraylabel = new JSONArray();
for(int k =0;k<labellist.size();k++){
JSONObject objectlabel = new JSONObject();
objectlabel.put("type",labellist.get(k).getType());
objectlabel.put("_id",labellist.get(k).get_id());
objectlabel.put("name",labellist.get(k).getName());
objectlabel.put("colourCode",labellist.get(k).getColourCode());
arraylabel.put(objectlabel);

}
String labelnamearray = gson.toJson(arraylabel);
enquiriesModel.setLabelNames(labelnamearray);
enquiriesModel.setLabels(label);
enquiriesModel.setEnquiriedPrograms(programarray);
sampleDatabase.enquiryDao().updateRecord(enquiriesModel);

最佳答案

@Update 的替代方法是使用 @Query

@Query("UPDATE EnquiriesModel SET SOME_FIELD = :value WHERE EXISTING_FIELD = :existingValue;")
void updateStatus(String existingValue, String value);

关于android - 如何使用 Room Persistence Library 从本地数据库更新文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51593982/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com