C#单条与多条数据的删除

本文详细介绍了使用VSC#在数据库中进行单条和多条数据删除的操作步骤。包括控制器中定义删除方法,利用LINQ查询特定数据,以及通过异步请求实现数据的批量删除,并确保数据安全。

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

开发工具与关键技术:VS C#
撰写时间:2019年 4月 17日

一、单条数据的删除。
首先,在控制器定义一个删除操作的方法。用int类型来接收数据,根据数据库的主键ID获取要删除具体的某一条数据。

SYS_学院表 dbAcademe = (from tbAcademe in myModel.SYS_学院表
                                 where tbAcademe.外键ID == 主键id
                                 select tbAcademe).Single(); 
                                 //Single删除某一条数据

这样只是删除myModel.SYS_Academe.Remove(dbAcademe); Model的数据,所以还要判断一下myModel.SaveChanges()它是否大于零。如果大于零则删除成功;否则删除失败。

if (myModel.SaveChanges() > 0)
                                    {
                                        returnJson.State = true;
                                        returnJson.Text = "删除成功!";
                                    }
                                     else
                                    {
                                        returnJson.State = false;
                                        returnJson.Text = "删除失败!";
                                     }

其次,在视图调用这个定义好的方法。要获取页面的删除按钮,给这个删除按钮一个onclick点击事件来触发它btns += ‘<button type=“button” class=“layui-btn layui-btn-xs layui-btn-danger” οnclick=saveDelete(’ + academeId + ‘)>删除’;因为删除数据是一件很谨慎的操作,不可以点击删除按钮就直接删除数据,所以在页面删除数据时一定要用一个有两个按钮的提示框来提醒一下用户,当用户点击确定按钮时才删除该数据;当用户点击取消按钮时则不删除该数据并关闭提示框。这里用layer插件里的提示框layer.confirm(" 您确定要删除该条信息?", { icon: 3, titile: “提示” }, function (返回 true或false) 带有问号的图标icon:
在这里插入图片描述
如果返回true就用一个post异步提交执行删除操作,

$.post("/区域/控制器/定义的方法名称",{传输的数据}, function ( 回调函数 ),关闭提示框layer.close(index);如果删除成功if (returnJson.State == true)就刷新一下tableb表格tabAcademe = layuiTable.reload('tabAcademe')。

二、多条数据的删除。
首先,也在控制器定义一个删除操作的方法。用string类型来接收数据,获取要删除的多条数据也就是获取一个数组

string[] 要删除的表格 = 获取的表格.Split(';');//截取标志';' 
foreach (var 集合里的某一条数据in 变例的集合)

关系到对多条数据一起进行删除操作,所以就要获取多个数据表。再用一个Linq查询语句查询出要删除的那一条数据,并保存更改 myModels.SaveChanges();因为是多条数据一起进行删除,所以还要声明两个初始值为0的变量来接收删除成功的条数和删除失败的条数 int intSuceessCount = 0, intFailCount = 0;如果删除成功了多少条就用intSuceessCount++;来记录;否则删除失败了多少条就用intFailCount++;来记录。最后,一共删除了多少条数据,成功删除了多少条数据,失败删除了多少条数据都要提醒一下用户。

returnJson.State = true;
                returnJson.Text = "总共删除" + 页面传输过来的ID的总的条数.Length + "条学生信息";
                if (intSuceessCount > 0)
                {
                    returnJson.Text += ",成功" + intSuceessCount + "条";
                }
                if (intFailCount > 0)
                {
                    returnJson.Text += ",失败" + intFailCount + "条";
                }

其次,在视图调用这个定义好的方法。获取批量删除的按钮,给这个批量删除按钮一个onclick单击事件。插入一个checkbox用多选框的方式,选择要删除的多条数据。获取checkbox里的选中值var checkStatus = layuiTable.checkStatus(‘表格里的数据’);再判断if (checkStatus.data.length > 0)选择要删除的数据是否为空。
  如果不为空就声明一个变量来接收选中值的数组,再拼接成一串字符串strIds += checkStatus.data[i].表格ID+ “;”;//";“截取ID选择要删除多少条数据也要提醒用户layer.confirm(‘您确定要删除选中的’ + checkStatus.data.length + ‘条信息?’, { icon: 3, titile: “提示” }, function (index)当用户点击确定就进行删除操作。如果为空就提醒用户layer.alert(“请选择要删除的数据”, { icon: 0 });
这里用的post异步提交跟删除单条数据不一样,删除单条数据传输的是具体的某个ID;删除多条数据传输的是字符串$.post(”/区域/控制器/定义的方法名称", { 传输的字符串 }, function (回调函数)。因为前面截取ID的时候是用了一个“ ;”这个符号来截取,所以截取出来的字符串后面就拼接多了一个“ ;”这个符号,如果不去除后面的“ ;”这个符号,在“ ;”这个符号后面就会获取一个空白的ID。所以就要去除后面多出来的“ ;”这个符号strIds = strIds.substring(0, strIds.length - 1);//去掉最后的 ; 号。
返回来的if (returnJson.State == true) true就说明删除成功,关闭提示框layer.close(index);再刷新一下table表格tabAcademe = layuiTable.reload(‘tabAcademe’)。

总结:删除操作就是删除数据库里的数据,不管是单条数据的删除还是多条数据的删除都要查询出数据才可以删除。单条数据的删除是查询要获取具体的ID,而多条数据的删除涉及到要删除的数据比较多,所以要用数组的格式来获取数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值