框架使用的是jsp+servlet+mysql
在功能实现时候想在修改一个表的字段的同时修改另一个表
具体代码如下:
前端相关代码
$.ajax({
type: "post",
url: "CourseServlet?method=EditCourse",
data: data,
success: function(msg){
if(msg == "success"){
$.messager.alert("消息提醒","修改成功!","info");
//关闭窗口
$("#editDialog").dialog("close");
//清空原表格数据
$("#edit_name").textbox('setValue', "");
$("#edit_shenhe").textbox('setValue', "");
//$("#edit_course_date").textbox('setValue', "");
//$("#edit_info").val("");
//重新刷新页面数据
$('#dataList').datagrid("reload");
$('#dataList').datagrid("uncheckAll");
} else{
$.messager.alert("消息提醒","修改失败!","warning");
return;
}
}
});
servlet相关代码
private void editCourse(HttpServletRequest request,
HttpServletResponse response) {
String name = request.getParameter("name");
String maxNum = request.getParameter("maxnum");
int id = Integer.parseInt(request.getParameter("id").toString());
String shenhe = request.getParameter("shenhe");
Course course = new Course();
course.setId(id);
course.setName(name);
course.setMaxNum(maxNum);
course.setShenhe(shenhe);
CourseDao courseDao = new CourseDao();
String msg = "error";
if(courseDao.editCourse(course)){
msg = "success";
}
try {
response.getWriter().write(msg);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
courseDao.closeCon();
}
}
dao层相关代码
public boolean editCourse(Course course) {
// TODO Auto-generated method stub
String sql = "update s_course set shenhe='"+course.getShenhe()+"' where id = " + course.getId();
return update(sql);
}
现已实现s_course表中shenhe字段的修改功能,在此功能的前提下我想实现同时修改s_student表中的字段,请问有办法可以实现吗?谢谢
if(courseDao.editCourse2(course)&&courseDao.editCourse(course)){
msg = "success";
}
这样可以,再写一个方法再加上
mysql支持update join修改
那你再写个方法改呗 你修改shenhe字段的时候调用那个方法修改s_student表的字段呗
打断点或者sout看一下sql拼装完后的样子,感觉第二个sql的模糊查询那里出问题了,还有更新表单用模糊查询,真的没问题吗?