开发工具与关键技术:VS软件,单条删除数据
作者:陈隆
撰写时间:2019年04月22日
对于删除数据的功能来说,删除只是需要把数据库中的数据查询出来删除就可以了,但是呢直接删除的话呢,就有可能产生大量的垃圾数据,所以查询出来的数据需要比较是否存在其他信息,如果存在那么肯定就是不可以删除的,试想想如果你要删除的表中还要其他数据的话呢,那么直接删除这个表的数据删除,其他表的数据就会找不到,就会成了垃圾数据,这些垃圾数据会产生越来越多,这样就会使服务器增加负担的,想要避免这种情况的话呢,就要想办法让他不产生垃圾数据就可以了,想不产生垃圾数据其实并不难,只需要做几个判断,判断一下你想要删除的数据中是否和其他表存在关系,如果有关系那么就要判断要删除的数据在其他表中是否存在相关的数据,如果存在那么就不要给用户删除就行了,并要提示用户参数异常,也可以提示用户该信息存在其他相关信息不能删除请先删除其他相关信息,如果没有存在其他相关信息就可以直接删除该信息,这样就不用产生垃圾数据了。下面就来写删除的js代码,我这里写的是删除学院的代码,涉及的判断也不少,可以更好的理解更多的判断,看后面控制器代码部分。
(js部分代码截图)
删除数据的代码其实也没有多少的,也不复杂,这里的代码首先需要自定义一个方法名,然后还要在小括号里传入参数,还要把这个方法名给HTML中的删除按钮写上点击事件,然后点击删除按钮后先提示用户是否要删除该学院信息,icon只是一个提示框中的小图标,小图标一共有7种小图标,都是用0-6来选择图标,title只是一个提示框中的标题,标题可以随便更改的,根据需要的来写就可以了,然后又写一个function,在小括号中写如一个参数,然后把里面的内容弹出,然后需要向控制器发送删除请求,格式一定要写上$.post(前面两个填写控制器的路径,最后一个就是填写方法名)这里的路径一定要写对,要不然肯定是会出错的。然后把参数传到控制器,再判断是否删除成功,如果成功就刷新表格,tabAcadene这个是表格的ID,reload就是刷新的代码,如果不成功就弹出对应的提示。这就是js部分的代码。那么下面就接着写一下控制器的代码部分,控制器的代码其实就是判断比较多,那么我就不一一写完了,其实都是一样的,只要把你想要判断的查询出来就可以判断了。有多少就判断多少就可以了,判断他是否大于0条数据就可以了,如果大于0条那么就肯定是存在了数据了,那就不可以删除了,直接给用户提示相对应的提示框就可以了。
(控制器部分代码截图)
控制器的代码相对前面的代码来说是比较难一点点的,首相是获取到js部分的方法名和穿过来的参数,然后new一个ReturnJsonVo来存放临时数据,然后设置他的状态为false,然后再用一个try、catch来捕获异常,一般来说只要代码中使用了Single就需要使用try、catch来捕获异常,要不然在页面众多的情况下如果出错了,想要找到出错的地方就会大大的加大找错难度了,使用single也比较容易出错,所以使用single的地方一定要使用try、catch,然后就是到了判断是否已经存在其他相关信息,这里就是需要查询数据库中的某一个表,查询该表中是否存在有相对应的数据,如果大于0条,那么就是肯定是有对应的数据的,有对应的数据就不能删除,并且要提示用户有对应的信息,请先删除对应的信息,然后返回到页面,就不会往下执行了,如果有多个表或者多个数据信息需要判断,那么就可以根据上面代码所写的判断改一下需要判断的表或者信息就可以了,这里需要判断多少数据都是可以的,判断完之后就是有删除该学院信息了,如果上面没有问题,就会到了删除这一步,这里只需要把要删除的信息从数据库中查询出来直接删除就可以了,想删除学院信息就查询学院表就行了,查询方法,SYS_Academe这个表中查询,然后查询数据出来,只能有一条,如果只有一条就删除,删除就需要把查询到的数据传入到删除代码的小括号里就行了,然后再需要判断一下,删除的数据是否大于0条,如果是大于0条就是表示已经把数据信息删除掉了,删除了就给用户提示一个删除成功就可以了,如果删除的数据等于0,那么就肯定是没有数据被删除,所以给用户提示删除失败就可以了,最后把数据return Json返回到页面就行了,这样就把这个删除完成了。