1.如下的例子:
ISession session = ctx.createSession();
session.txBegin();
IDataQuery dq = session.createDataQuery();
dq.setTarget(session.getObjectDef("zbqdrelated"));
dq.addField("zbqc_unfilled_text");
IDataCollection dc = dq.query(session);
while(dc.next()){
IBusObject bo = dc.getObject();
String text = ClearTwomonthAwayqc(lastmonthfirstday ,bo.getStringField("zbqc_unfilled_text"));
..................
bo.setField("zbqc_unfilled_text", text);
bo.save(session);
}
dc.close();
session.txCommit();
不知道咋的,dq.addField("zbqc_unfilled_text"); 这个死活save不了,打印出text 的值对的,就是无法save到数据库。
然后去掉了dq.addField("zbqc_unfilled_text"); 这一行更新成功了。以后更新的话不加addfield了。此问题相当严重,因为此问题很难排查出。