数据增删查改——单表删除

本文介绍了HTML中数据删除功能的实现。HTML部分构建删除按钮并获取主键ID;JS部分为按钮绑定点击事件,提示用户确认,通过post请求向控制器传参删除数据,判断删除结果并刷新页面;控制器部分接收主键ID,查询并删除数据,同时要检查关联数据,避免产生垃圾数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(作者:郭鑫 撰写时间:2019年5月7号)

删除比起新增和修改那就是简单多了,删除在HTML的部分基本没什么,一般就一个删除按钮。主要就是js和控制器部分的代码。

HTML部分

       在HTML部分,这里的删除就只是构建了一个删除的按钮,再有就是获取到需要删除的数据的主键ID。因为这里的删除按钮是放在layui表格里的自定义操作列里,所以可以直接获取到表格里的ID,直接拼接到按钮里即可。

JS部分

       删除时的JS部分就是直接删除了,为按钮绑定一个点击事件,把刚刚拼接到的ID传到这个事件里。删除前要提示一下用户是否要确定要删除,提示框用的时layui里面的提示框,可以点击确定或者取消。Confirm的内容由三个部分组成,第一个:提示的内容;第二个:提示框的款式;第三个:点击确定后的回调函数。弹出的这个提示框他自己是不会直接关闭的,得要你手动关闭,要关闭无非两种情况,一是取消二是确定,取消的关闭方法插件已经写好了,所以只需要在点击确定是关闭,也就是在回调函数里把这个提示框关闭掉。

layer.close(index)就是关闭这个提示框的方法,index就是回调函数的参数。

       提示框点击确定后就要对数据进行处理了,也就是开始删除数据了,删除数据也需要

数据库进行请求,请求要写在回调函数里面。因为删除时是要根据该条数据的主键ID进行删除,所以请求控制器部分时需要把主键ID作为参数传到控制器。

请求数据用post请求,post请求写法:post(“url”,{参数},回调函数,预期返回数据的格式);

第一个参数:请求控制器的路径

第二个参数:传参,用键值对的形式。键(“:”前面的单词)要和控制器的接收值一致,值(“:”后面的单词)要与js的获取变量时声明的值一致。

第三个参数:回调函数,请求完成后要执行的内容。

第四个参数:预期返回数据的格式。

       请求结束后,就要判断一下删除是否成功,如果成功就要刷新一下页面显示数据的表格,然后还有提示一下是否删除成功。

控制器部分

       控制器部分的接收值只需要接收页面上传过来的主键ID即可,方法里面第一步要做的就是声明几个变量,一般两个,一个字符串类型的,用于记录需要返回页面的字符串;还有一个是布尔类型的,用于记录代码运行的状态。一般新增需要返回的就是这两个内容,可以直接在一开始就把返回写好,能避免报错。返回的写法如下所示,如果只有一个变量返回页面就不用new和{},直接把变量写上就好,如果有多个变量就像下面写法一样用英文状态下的逗号隔开,有多少个可以写多少个。

 

       删除前必须要进行查询,根据传过来的主键ID查询出要删除的数据,因为一个主键只能查出一条数据,所以查询数据是要使用single,使用single时很容易出错,因此要捕获一下异常。

       接着就可以删除了,删除就是一句代码的事。

       删除了之后就要判断一下删除是否·成功,myModel.SaveChanges()获取到的值是数据库改变受影响的条数,所以只要判断intR是否大于0就可以了,大于0则说明有数据受影响,就是删除成功了。成功之后要把代码执行的状态改为true,失败改为false,再分别设置一下返回页面的字符串,那么删除就成功了。

       虽然删除成功了,但是这样的删除不一定是对的,因为表与表之间可能还有着联系,就拿这学院的来说,学院下可能还有着专业信息、年级信息、教师信息等等,所以在删除之前要检查一下该学院下是否拥有着这些信息,有就不能删除,否则这些信息就成了垃圾数据,查询不出来了。这以年级为例子。查询时根据传过来的ID为条件。如果查出来的数据条数大于0条就说明有数据了,就把状态设置为false然后直接返回到页面,否则就继续执行下一步操作。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值