|

楼主 |
发表于 2018-3-5 18:38:51
|
显示全部楼层
我的目的是要批量修改khData 里面的某几个字段,前一个页面会将需要更新的Rows传递过来,保存的时候获取哪些是需要更新的,然后在修改对应的字段,使用下面的方法死活不行,有什么方法优化处理吗?
Model.prototype.saveBtnClick = function(event){
console.log("保存");
var fpData = this.comp("fpData");
var khRows = this.khRows;
var khData = this.comp("khData");
var khgzData = this.comp("khgzData");
var currentPersonCode = this.getContext().getCurrentPersonCode();
var fKHBMS = [];
for(var i=0;i<khRows.length;i++){
fKHBMS.push(khRows.val("fKHBM")); //记录客户编码,后台发送邮件到对应的客户经理
if(khRows.val("isPuplic")==1){
khData.setValueByID("isPuplic",0,khRows.val("PR_KH"));
khData.setValueByID("isToday",1,khRows.val("PR_KH"));
khData.setValueByID("isWeek",1,khRows.val("PR_KH"));
khData.setValueByID("fUpdatePerson",this.sCode,khRows.val("PR_KH"));
khData.setValueByID("fUpdateTime",new Date(),khRows.val("PR_KH"));
khData.saveData();
}
var khgzID = khData.getValueByID("PR_KHGZ", khRows.val("PR_KH"));
khgzData.setValueByID("fORGID1",fpData.getValue("fORGID1"), khgzID);
khgzData.setValueByID("fORGName1",fpData.getValue("fORGName1"), khgzID);
khgzData.setValueByID("fORGID2",fpData.getValue("fORGID2"), khgzID);
khgzData.setValueByID("fORGName2",fpData.getValue("fORGName2"), khgzID);
khgzData.setValueByID("fKHJLBM",fpData.getValue("fKHJLBM"), khgzID);
khgzData.setValueByID("fKHJLName",fpData.getValue("fKHJLName"), khgzID);
khgzData.setValueByID("fUpdatePerson",currentPersonCode,khgzID);
khgzData.setValueByID("fUpdateTime",new Date(), khgzID);
khgzData.saveData();
}
currentService.khChangeSendEmailAction(this,fKHBMS);
this.comp("windowReceiver").windowEnsure();
};
这个代码一直报下面的错误:
保存数据失败! ,
更新记录PR_KH, PR_KH, key="70ff169ce13111e78a70e229251eec3a"出错, 不存在符合条件的数据, UPDATE PR_KH PR_KH SET PR_KH.fGJRQ = :fGJRQ_new, PR_KH.fQDJE = :fQDJE_new, PR_KH.fUpdatePerson = :fUpdatePerson_new, PR_KH.fUpdateTime = :fUpdateTime_new, PR_KH.version = :version + 1 WHERE PR_KH= :PR_KH_old AND PR_KH.version = :version_old
编码:JUSTEP150186
原因:JUSTEP150186
|
|