gpt4 book ai didi

android - 防止 greenDAO 插入重复条目

转载 作者:太空狗 更新时间:2023-10-29 15:53:15 26 4
gpt4 key购买 nike

我有一个 Activity 将在 Activity 开始后使用 greenDAO 解析 json 数据并更新数据库。它更新代码就像:

exampleDao.insertOrReplace(exampleObj);

但是当activity返回并恢复时,它会继续插入导致主键不同但数据相同的重复数据输入,如何防止重复数据输入?

非常感谢

最佳答案

由于您没有提供关于您的数据模型的模式或类似信息,所以这个答案只是一个猜测!

可能您正在使用自动增量主键。

这意味着您的主键可能未包含在您的 JSON 数据中,从而导致主键属性为空。

这告诉 greendao 这是一个新条目,greendao 将插入一个带有新主键的新条目。

尝试先读取对象然后调用 insertOrReplace:

Example oldObj;
try {
// Try to find the Example-Object if it is already existing.
oldObj = exampleDao.queryBuilder().where(someCondition).unique();
} catch (Exception ex) {
oldObj = null;
}
if (oldObj == null) {
oldObj = new Example();
}
// update oldObj with the data from JSON
exampleDao.insertOrReplace(oldObj);

关于android - 防止 greenDAO 插入重复条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23795684/

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