开发工具与关键技术:VS 删除
作者:听民谣的老猫
撰写时间:2019/4/20 17:15
上面的几张图大家应该都不陌生,在刚学习数据删除应该给大部分人带来过砸键盘的冲动感。
有几个错误我当时可是被折磨了大半天,一起来看看。
首先解决问题的话,我们要做的第一件事肯定是找出错误。很多时候导师帮我们解决错误或者是导师上课时出现错误都会用到断点。
断点用法:在你需要断点的代码行数前面点击鼠标就可以添加断点。
断点用处:在某一行代码前面标上断点后,代码运行到这一行代码处就会暂停运行,需要你点击运行后才会运行断点后面的代码。如果还没运行到这行代码就报错了,那错误肯定就是这行代码前面的代码了。简单的重复就可以找出错误点。
同时你可以看断点前面传入的参数。很多错误都是参数没有传进来,如果是参数问题导致错误,那么我们就可以对症下药。
错误A
在修改数据中出现A这种情况肯定就是数据回填失败,通过断点我们也可以知道问题的根源。
我们是根据ID来查询数据的,也就是把我们传过来的ID和数据 库中ID做判断,找出相同的ID数据,然后回填。这里很明显没有传过来参数值,那么就查不出我们想要的数据。回填数据的时候肯定会出现错误。
//设置操作按钮
function setOperate(data) {
var EmployeeId = data.EmployeeID;
var btn = "";
btn += '<button class="layui-btn layui-btn-xs" onclick="openUpdateModal(' + EmployeeId + ')">修改</button>';
return btn;
}
我们的ID参数是在设置修改按钮时就已经设置好了的,也就是你点击修改按钮就会带上对应数据的ID值,这个错误大部分就是因为var EmployeeId = data.EmployeeID;这里错误。
同时这里也容易出现只有部分数据回填,个人认为这个都是因为在视图层时的命名错误导致数据接收不了。
错误B
这个错误应该是最让人头疼的了,有时候经常会浪费很多时间去解决,到头来就是因为命名
错误。
通过断点然后去查看参数值,哪里不对就去视图层找命名。
这里最容易因为获取不到EmployeeID导致数据异常。
(解决方法:就是你写前端修改模态框的时候是不是写了EmployeeID的隐藏域,并且隐藏域是否包含在提交数据的表单中,或者隐藏域的命名是否与数据库命名一致。)
错误C,D
这俩个错误是一起解决的看C就可以知道这是因为根据ID查询数据时传入参数错误。
Int整形也就是说你传入的EmployeeID不是int类型。你可以通过断点来看看到底传过来了什么。
也就是说它是有传入值的,但是它的值不是int类型,这就是和A的区别,一开始我听别人说在int后面加一个?,然后是不报错了但是就是一路的参数异常各种错误。加上?就是可以不为int类型,治标不治本。
如果你不是因为命名错误的话,那么你就的去找找新增了,也就是说你在新增EmployeeID时就有问题。以至于你在根据ID查询数据时报错。你可以通过断点也可以去数据库查看EmployeeID。