删除数据小总结

                            删除
  1. 通过在创建表格的时候给了一个自定义的修改键和删除键的方法
  2. 创建这个方法后,其实在表格调用这个方法后表格里面的数据也给到了这个方法,在这个方法里面获取到主键ID,在修改键和删除键都有一个点击事件调用函数,把这个主键ID作为参数放在调用函数里,所有在这个调用函数里面就有了这个主键ID数据,再在调用方法里通过post提交数据方法将主键ID传递到控制器中
  3. 在控制器中创建方法接收到视图传递过来的数据后到数据库里查找该主键ID所在的表,查询出所包含的所有数据,判断这个主键ID的外键ID里面是否存在数据,如果存在数据不能直接删除主键ID对应的数据,如果不存在便把这个数据从数据库中删除掉
    视图:
  4. 判断主键ID1的外键ID是否存在数据的方法:在外键ID作为主键ID2的表里面查询是否存在主键ID1,如果存在主键ID1则证明外键ID存在数据,如果不存在主键ID1则说明不存在外键ID的数据
  5. 需要引入四个插件

注:下面代码模板都来自于李老师的授课内容再加上本人的理解抽取出来的

创建按钮:

在这里插入代码片function A(data) {
            var ID = data.NoticeTypeID;//获取主键ID
            var btns = '<button type="button" class="layui-btn layui-btn-xs" updateNoticeType(' + ID + ')>修改</button>';
            btns += '<button type="button" class="layui-btn layui-btn-xs layui-btn-danger"   a(' + ID + ')>删除</button>';
            return btns;
       }
提交数据:
function a(id) {
            layer.confirm("你确定要删除该公告类型吗?", { icon: 3, title: "提示" }, function (index) {
                $.post("url", { id2: id1 }, function (msg) {
                    layer.close(index);//关闭模态框
                    if (msg.State == true) {
                        //刷新table表单,reload重新加载
                        tabNoticeType = layuiTable.reload( ‘id3’ );
                    }
                    //提示
                    layer.alert(msg.Text, { icon: 1 });
                });

            });
        }
控制器:
  public ActionResult a(int id2)
        {
            ReturnJson retutnJson = new ReturnJson();
            try
            {
                //查询公告类型是否有公告类型明细,在公告类型明细表中查询是否存在当前传进来的这个公告类型ID,如果不存在则说明这个公告类型里不存在公告类型明细,可以删除。否则不能删除。
                int noticeTypeDetailCount = (from tbNoticeTypeDetails in myModels.SYS_NoticeTypeDetail
                                             where tbNoticeTypeDetails.NoticeTypeID == noticeTypeId
                                             select tbNoticeTypeDetails).Count();
                if (noticeTypeDetailCount == 0)//没有公告类型明细
                {
                    //查询出公告类型
                    SYS_NoticeTypeTable dbNoticeType = (from tbNoticeType in myModels.SYS_NoticeTypeTable
                                                        where tbNoticeType.NoticeTypeID == noticeTypeId
                                                        select tbNoticeType).Single();
                    myModels.SYS_NoticeTypeTable.Remove(dbNoticeType);//删除公告类型
                    if(myModels.SaveChanges() > 0)//判断是否保存成功
                    {
                        retutnJson.State = true;
                        retutnJson.Text = "删除成功";
                    }
                    else
                    {
                        retutnJson.State = false;
                        retutnJson.Text = "删除失败";
                    }
                }
                else
                {
                    retutnJson.State = false;
                    retutnJson.Text = "有明细信息,不能删除!";
                }
            }
            catch(Exception)
            {
                retutnJson.State = false;
                retutnJson.Text = "数据异常";
            }
            return Json(retutnJson, JsonRequestBehavior.AllowGet);
        }



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值