数据库于MVC的增查删改之改

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

开发工具与关键技术:Visual Studio 2015MVC

作者: 梁柏源

撰写时间:2019/4/11

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

数据库和MVC都有新增、修改、删除、查询,上次讲了删除和查询,这次不意外也讲新增和修改,

首先先讲修改在数据库中修改比较简单,假设我要修改项目表中的某项数据,过程如下:

数据库的修改(update)

update 项目表

set 项目名称='800米长跑',运动员编码='06',项目简称='长跑'

where 项目ID=110

(上面是原来的数据)

update 项目表(要修改的表)

set 项目名称='100米短', 运动员编码='09', 项目简称='短跑'(要怎样修改)

where 项目名称='800米长跑',运动员编码='06',项目简称='长跑'(要修改那些项)

就这样在点一下执行就OK了。

在MVC中的修改要判断修改后的数据是否与数据库中的相同,然后在将需要修改的数据提取出来,修改后再保存数据库,是不是很繁琐,其实大致还是和数据库的修改差不多,就是多了要判断及提示的步骤

public ActionResult Update (PW_Student pwStudent, PW_User pwUser, HttpPostedFileBase fileStudentImage)

        {

            ReturnJson returnJson = new ReturnJson();

            try

            {

判断修改后的数据是否与数据库数据重复

                var oldStudentRow = (from tbStudent in myModels.PW_Student

                                     where tbStudent.studentID != pwStudent.studentID &&

                                           (tbStudent.StudentNumber == pwStudent.StudentNumber ||

                                           tbStudent.StudentIDNum == pwStudent.StudentIDNum)

                                     select tbStudent).Count();

                if (oldStudentRow == 0)

                {

                    var userCount = (from tbUser1 in myModels.PW_User

                                     where tbUser1.UserID != pwUser.UserID &&

                                     (tbUser1.UserNuber == pwStudent.StudentNumber || tbUser1.UniformAuthenticationCode == pwUser.UniformAuthenticationCode)

                                     select tbUser1).Count();

 

                    if (userCount == 0)

                    {

                        //根据UserID将需要修改的用户表的数据提取出来

                        PW_User dbUser = (from tbUser in myModels.PW_User

                                          where tbUser.UserID == pwUser.UserID

                                          select tbUser).Single();

                        dbUser.UserNuber = pwStudent.StudentNumber; //账号

                        dbUser.Password = Common.AESEncryptHelper.Encrypt(pwStudent.StudentNumber); //密码(加密后的账号)

                        myModels.Entry(dbUser).State = System.Data.Entity.EntityState.Modified; //保存新的用户信息

                       

                        PW_Student dbStudent = (from tbStudent in myModels.PW_Student

                        where tbStudent.studentID == pwStudent.studentID

                 select tbStudent).Single();//根据StudentID将要修改的学生表数据提取出来

                        dbStudent.StudentIDNum = pwStudent.StudentIDNum; //身份证

                        dbStudent.StudentNumber = pwStudent.StudentNumber; //学号

                        dbStudent.StudentName = pwStudent.StudentName//姓名;

                        dbStudent.StudentSex = pwStudent.StudentSex; //性别

                        dbStudent.AcademeID = pwStudent.AcademeID; //学院ID

                        dbStudent.GradeID = pwStudent.GradeID; //年级ID

                        dbStudent.SpecialtyID = pwStudent.SpecialtyID; //专业ID

                        dbStudent.ClassID = pwStudent.ClassID; //班级ID

                        myModels.Entry(dbStudent).State = System.Data.Entity.EntityState.Modified; //修改学生表信息

                        myModels.SaveChanges();

                        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);

        }

下面是运行的结果

 

          

一开始是上面一样的,然后我改成下图所示

完了之后点击保存,OK了,修改结果如上图所示(第二幅)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值