update会同时改变其他行状态的解决方法
在《企业招聘系统》的过程中,如果有同时多个简历申请,点击审核,会出现,几个简历一下子都被审核的情况,。
出现上述情况的原因:
sql增强的代码时update jform_zp_b_resume set re_status = 1;
点击审核或得的相应是:
虽然,在js代码中获得当前行的数据和id,
在后台通过数据库cgform_button_sql表得到sql是update jform_zp_b_resume set re_status = 1;
在formateSQl过程中却并没有添加id,因为,在formateSQl(String sql, Map<String, Object> params)方法中,没有对UPDATE进行处理,因此应该做如下修改:
1:org.jeecgframework.web.cgform.service.impl.build包中DataBaseServiceImpl.java中formateSQl(String sql, Map<String, Object> params)应该在insert下添加对update的处理
private String formateSQl(String sql, Map<String, Object> params) {
//StringBuffer strSql = new StringBuffer(sql);
sql = replaceExtendSqlSysVar(sql);
if (params == null) {
return sql;
}
if(sql.toLowerCase().indexOf(CgAutoListConstant.SQL_INSERT)!=-1){
sql = sql.replace("#{UUID}", UUIDGenerator.generate());
}
//juan 2014年4月23日update 是应该添加 rowData 的id,更新一行
if(sql.toLowerCase().indexOf(CgAutoListConstant.SQL_UPDATE)!=-1){
sql = sql+" where id = '"+((String)params.get("id")).toString()+"'";
}
for (String key : params.keySet()) {
// sql = sql.replace("#{" + key + "}", "'"+((String)params.get(key)).toString()+"'");
sql = sql.replace("#{" + key + "}", ((String)params.get(key)).toString());
}
return sql;
}
第一次,发帖,求指教 如果我没理解错误的话,update jform_zp_b_resume set re_status = 1;这个sql应该这么写
update jform_zp_b_resume set re_status = 1 where d = #{id}
就不存在你说的问题了 不好意思 那个招聘系统审核的sql 视频里是弄错了 后面演示的时候更正了,在网盘的sql里更正但是视频没修正 正确的sql 如楼上所言
页:
[1]