我正在尝试处理同一个对象,但我不能再做两次更新了另一个:
DatabaseHelper db = new DatabaseHelper(getActivity());
Dao<Demandes, Integer> demandesDao = null;
demandesDao = db.getDemandesDao();
UpdateBuilder<Demandes,Integer> updateBuilder = demandesDao.updateBuilder();
updateBuilder.where().eq("id", demande.getId());
updateBuilder.updateColumnValue("statutEnvoieSendLead", 1);
updateBuilder.updateColumnValue("dateEnvoieSendLead", new Date());
updateBuilder.updateColumnValue("contactWebId", slr.getOption().getContactWebID());
updateBuilder.update();
GoogleAnalytics ga = new GoogleAnalytics(getActivity());
ga.envoieTracker(idApplication, demandeId, logement, typeForm);
XMLSendSimulation xmlSendSimulation = new XMLSendSimulation(slr.getOption().getContactWebID());
xml = XMLGenerator.GenerateSendSimulationXml(xmlSendSimulation);
updateBuilder.where().eq("id", demande.getId());
updateBuilder.updateColumnValue("xmlSimulation", xml);
updateBuilder.update();
答案 0 :(得分:0)
我试图处理同一个对象,但我又无法再做两次更新:
分享尝试代码时生成的异常会对您有所帮助。我怀疑你得到某种SQL异常?
问题是UpdateBuilder
在调用update()
后不会忘记之前的信息。您可以使用updateBuilder.reset()
让它忘记之前的eq(...)
和updateColumnValue(...)
来电,或者只是创建一个新的UpdateBuilder
实例。没有reset()
,您只是添加到之前的通话中。