修改是增删查改中不可缺少的一环,同样的修改某条信息之前也同样需要对其进行查询,
因为在修改某条信息之前需要根据它的ID查询出需要修改的数据,并将这些数据通过数
据的回填将其回填到页面的表单上。在查询数据之前需要知道可以修改的数据有哪一些,
在练习中可以修改的员工信息有员工姓名、电话、手机、部门、职位、地址和备注,其中
部门和职位是下拉框其他为输入框。想要数据回填到修改的模态框首先需要获取到页面选中的某条数据的员工ID,然后根据这个员工的ID查询出数据后将数据回填到修改的模态框中,其中因为部门和职位因为是下拉框需要调用之前在查询时所写的其绑定下拉框的方法才可实现下拉框数据的会填。下图中UsDepartmentName和UsPositionName分别为部门和职位在修改模态框中的ID,BuMeiX和ZhiWeiX为之前在查询是所写的其绑定下拉框的方法
(绑定修改下拉框的方法可以重新写,但是一般不会有人这样做。)
需要注意在控制器写根据员工ID查询该员工数据的方法时要在请求中声明一个接受数据的参数,参数须和在页面接收数据的参数的保持一致否则会导致控制器获取不到页面传递的员工ID,控制器中接受数据的参数获取不到数据 在调用此方法浏览器就会报错。
在根据选中的数据的ID查询出需要在修改模态框回填的数据后就可以进行下一步了,先在页面将修改模态框在输入框和下拉框获取到的数据进行判断,判断获取到的不可为空的数据是否为空,如果为空则返回并提示请填写完整。如果全都不为空就将页面获取到的数据传递到控制器中将不予许重复数据和数据库中数据进行比较判断是否有重复,修改员工信息一般只需要判断员工表和用户表即可。但因为需要修改的数据不多且大多可以重复出现所以在判断员工表只需要判断有没有员工姓名和手机同时重复即可,用户表因为不涉及修改可以不进行判断。(注意为了防止出现点击某条数据后未对其进行修改直接点击保存时出现数据重复的提示,一定在判断数据重复之前加上是和选中的员工ID不同的其他数据进行比较的判断。)
如果返回的数据不等于零则证明员工表中存在的数据和修改的数据重复,数据重复则返回false和修改失败的提示。如果等于零则是无数据重复,无数据重复即可对数据进行修改。因为提交需要修改的员工信息中不涉及用户表的修改所以在修改时也只是需要修改员工表即可完成修改。
正常情况下提交数据成功后都会修改成功但可能有的时候因为数据的问题会保存失败,为了预防提交数据成功后修改失败了却没有提示,所以在提交成功后需要把失败的提示也加上,如果修改成功则返回true并提示修改成功,否则返回false并提示修改失败。
修改时所需要判断数据是否重复的表和修改涉及的数据有关,一般来说需要修改的数据属于哪一张表就将页面获取到的属于那一张表的数据进行比较。就算时新增是有增加数据的表只要修改时没有对其进行修改都可以不进行数据重复的判断。修改数据的顺序最好是与新增数据时的顺序保持一致,这样可以减少出现数据异常的概率。