程序员的日常操作—修改数据

开发工具与关键技术:Visual Studio ASP.NET MVC

作者:刘剑鸿

撰写时间:2019年04月13日 星期六

程序员的日常操作—修改数据

对数据修改的操作,是程序员在管理数据天天能遇上的事情。修改和新增很像,其目的都是往数据库里面修改数据,新增数据是从无到有。而修改是在原有的基础上去修改,通过获取主键ID去确定哪些数据要修改,还有在修改操作中还要进行数据回填。

在控制器里我们要运用一个传递过来的参数,就是从页面修改传递过来的数据。接下来我们要在控制器里进行5步操作。1判断数据是否在数据库已经存在。3获取要修改的数据。3根据主键ID提取数据4执行修改5将修改的数据保存到数据库。下面是修改操作的代码:

具体代码如下:

 public ActionResult UpdateAcademe(SYS_Academe sysAcademe) //sysAcademe是传递过来的参数
   {
        ReturnJson returnJson = new ReturnJson();
        try
        {
            //检查和其他是否有冲突
            int otherCount = (from tbAcademe in myModel.SYS_Academe        
                              where tbAcademe.AcademeID  != sysAcademe.AcademeID && (                              
                    tbAcademe.AcademeName == sysAcademe.AcademeName.Trim() ||
      tbAcademe.AcademeCode == sysAcademe.AcademeCode.Trim())
          select tbAcademe).Count();
            if (otherCount ==0)
            {//获取要修改的数据
                SYS_Academe dbAcademe = (from tbAcademe in myModel.SYS_Academe
    //根据主键ID提取数据
             where tbAcademe.AcademeID == sysAcademe.AcademeID
                                         select  tbAcademe).Single();

                //给实体赋值

                dbAcademe.AcademeName =
                                         sysAcademe.AcademeName;
                dbAcademe.AcademeCode =sysAcademe.AcademeCode;

                //执行修改

               myModel.Entry(dbAcademe).State = EntityState.Modified;
                //保存修改
                if (myModel.SaveChanges()>0)
                {
                    returnJson.State = true;
                    returnJson.Text = "修改成功!";
                }
               else
                {
                    returnJson.State = false;
                    returnJson.Text = "修改失败!";
                }
            }
           else
            {
                returnJson.State = false;
                returnJson.Text = "和其他重复!";
            }



        }

        catch (Exception e)

        {

            Console.WriteLine(e);

            returnJson.State = false;

            returnJson.Text = "数据异常!";



        }

        return Json(returnJson, JsonRequestBehavior.AllowGet);

    }

还有一段在视图里,主要是两个方法。1打开修改模态框。2保存修改模态框

在打开模态框时,为了保证数据的质量,我们要清空一下模态框,所以重置一下表单。然后进行数据回填,回填时同样使用post异步提交。而保存修改模态框的方法里,主要有五步操作,1 //获取页面数据2判断输入框的数据不为空3进行异步提交4关闭模态框5刷新一下表格。

其实和新增操作没什么不同,其代码如下

   //打开修改模态框

    function openUpdate(UacademeId) {

        //重置表单

        $('#formUpdateAcademe input[type="reset"]').click();

        //回填数据

        $.post("/SysemMangement/Collegeinfor/SelectAcademeById",

            { academeId: UacademeId }, function (data) {

               loadDatatoForm("formUpdateAcademe", data);//根据json对象填充form表单

            }, "json");

        //弹出模态框

        $("#modalUpdateAcademe").modal('show');

    }

    //保存修改

    function savaUpdate()

    {

        //获取页面数据

        var AcademeID = $("#UAcademeID").val();

        var AcademeName = $("#UAcademeName").val();

        var AcademeCode = $("#UAcademeCode").val();

        //判断

        if (AcademeID != '' && AcademeID != undefined &&!isNaN(AcademeID)

           && AcademeName != '' &&AcademeName != undefined

           && AcademeCode != '' &&AcademeCode != undefined)
        {  
        //异步提交数据
            $.post("/SysemMangement/Collegeinfor/UpdateAcademe",

                {

                    AcademeID: AcademeID,

                    AcademeName:AcademeName,

                    AcademeCode:AcademeCode

                },

                function (returnJson) {

                    if (returnJson.State == true) {

                        //关闭模态框

                        $("#modalUpdateAcademe").modal('hide');

                        //刷新table

                        tabAcademe =layuiTable.reload('tabAcademe');

                    }

                   layer.alert(returnJson.Text);

                }, "json");

        }

        else {

            //提示

            layer.alert('请填写完整', { title: '提示', icon: 0 });

        }

    }

备注:视图里的代码都是运用jQuery的代码。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值