与 ormlite 在同一行上进行两次更新
two updates on same line with ormlite
我正在尝试处理同一个对象,但我不能再做 2 次更新:
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();
I'm trying to work on a same object but I can't do 2 times again an update after an another:
如果您能分享在您尝试编写代码时生成的异常,将会对您有所帮助。我怀疑您遇到了某种 SQL 异常?
问题是UpdateBuilder
在调用update()
后不会忘记之前的信息。您可以使用 updateBuilder.reset()
让它忘记之前的 eq(...)
和 updateColumnValue(...)
调用,或者只创建一个新的 UpdateBuilder
实例。没有 reset()
你只是添加到以前的电话。
我正在尝试处理同一个对象,但我不能再做 2 次更新:
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();
I'm trying to work on a same object but I can't do 2 times again an update after an another:
如果您能分享在您尝试编写代码时生成的异常,将会对您有所帮助。我怀疑您遇到了某种 SQL 异常?
问题是UpdateBuilder
在调用update()
后不会忘记之前的信息。您可以使用 updateBuilder.reset()
让它忘记之前的 eq(...)
和 updateColumnValue(...)
调用,或者只创建一个新的 UpdateBuilder
实例。没有 reset()
你只是添加到以前的电话。