Я новичок в базе данных Realm. Я хочу сохранить данные в Царство, но не могу сохранить, даже если введенные мной данные еще не существуют.
Пример:
Сначала я ввожу данные OA как afdeling, 001 как Blok, 01 как образец группы и 1 как Pokok ke. Сохранено успешно.
Во-вторых, я ввожу данные OA как отсчеты, 001 как блок, 01 как выборка группы и 2 как Pokok ke. Успешно сохранено.
В-третьих, я ввожу OB данных как устаревший, 002 как блок, 01 как выборку группы и 2 как Pokok ke. Не удалось сохранить данные. Тост появляется "Данные уже существуют". Даже если введенные мной данные еще не существуют.
Это код для проверки, если данные уже существуют:
public <E extends RealmModel> boolean isParentIdExist(Class<E> eClass, String value) {
E data = mRealm.where(eClass).equalTo("parent_id", value).findFirst();
return data != null;
}
public <E extends RealmModel> boolean isPokokExist(Class<E> eClass, String value) {
E data = mRealm.where(eClass).equalTo("pokok_ke", value).findFirst();
return data != null;
}
public <E extends RealmModel> boolean isAfdelingExist(Class<E> eClass, String value) {
E data = mRealm.where(eClass).equalTo("afdeling", value).findFirst();
return data != null;
}
public <E extends RealmModel> boolean isBlokExist(Class<E> eClass, String value) {
E data = mRealm.where(eClass).equalTo("blok", value).findFirst();
return data != null;
}
public <E extends RealmModel> boolean isGroupSampleExist(Class<E> eClass, String value) {
E data = mRealm.where(eClass).equalTo("group_sample", value).findFirst();
return data != null;
}
и Это код для сохранения данных:
if (isParentIdExist(ModelAddTransaction.class, parent_id)) {
if (isAfdelingExist(ModelAddTransaction.class, afdeling) && isBlokExist(ModelAddTransaction.class, blok) && isGroupSampleExist(ModelAddTransaction.class, group_sample) && isPokokExist(ModelAddTransaction.class, pokok_ke)) {
Toast.makeText(AddTransaction.this, "Data is already exist", Toast.LENGTH_LONG).show();
} else {
tambahData();
Toast.makeText(AddTransaction.this, "Data added successfully", Toast.LENGTH_SHORT).show();
Intent moveViewMaster = new Intent(AddTransaction.this, ViewResult.class);
startActivity(moveViewMaster);
}
} else {
tambahData();
Toast.makeText(AddTransaction.this, "Data added successfully", Toast.LENGTH_SHORT).show();
Intent moveViewMaster = new Intent(AddTransaction.this, ViewResult.class);
startActivity(moveViewMaster);
}
и это ModelAddTransaction:
class ModelAddTransaction extends RealmObject {
@PrimaryKey
private String id;
private String parent_id;
private String date;
private String afdeling;
private String pokok_ke;
}