MVC中的新增、修改、删除
新增、修改、删除
开发工具与关键技术:MVC
作者:盘洪源
撰写时间:2019年3月30日星期六
新增、删除、修改、查询这都是MVC中最基础的,所以说想要学好MVC必须先把基础打好,查询是比较复杂点,这里我简单介绍一下新增、删除、修改
新增,无疑就是为表新增数据,、新增图片等等,但新增数据不是你页面上填写完数据后,就会给你保存的。这是一个有过程的保存。首先它的保存思路你得想清楚,这样你才能把它的代码写出来。首先视图上写好一个保存的点击“click”事件,然后在点击事件里把你所填的数据先获取到。
var AcademeID = $("#formInsertExaminee [name=‘AcademeID’]").val();
通过这样的获取方法将页面上的数据获取到,然后再给与判断,首先你新增的这些数据中的必填数据当然不能为空值,不然怎么可以说是必填数据嘛,
if (AcademeID > 0 && SpecialtyID > 0 && GradeID > 0 && ClassID > 0 && StudentNum != “” && UniformAuthenticationCode != “” && StudentName != “”) {}
如上面这个判断,如果是ID你可以判断一些ID是否大于0就行,等于0就是空值。如果是一些内容的,你就判断它是否!= ""就行。判断到如果必填数据没有空后,就可以做其他一些判断了。
到这个时候,你可以到控制器上写一个新增数据的方法了,当然这个方法里也会用到查询,查询就不在这里说了。首先,你肯定需要判断一下你所输入的内容是否与你数据库中的内容有所相同,根据实际情况进行判断。
判断是否重复很简单,根据你所输入数据中的一些唯一数据,比如说身份证号码这些,进行一个数据库的查询,根据这些条件对数据库查询它的总数,然后再用if语句对总数进行判断,如果它的总数不等于0则说明有重复数据,相反如果等于0,则没有。
下一步就可以把你在页面上的数据保存在数据库中了,用一个”.Add”的方法把你所填的数据保存到数据库中,如果有新增图片的那就得再做处理了,这里就不说了。
然后再通过if语句判断实例化的Model.SaveChanges()是否大于0,大于0则保存成功,相反,则保存失败。保存成功后再到视图上保存的点击事件中写个回调函数,然后再做个简单的判断刷新页面就OK了。
修改其实跟新增差不多,只不过是修改比新增多了个回填数据。回填数据就是当你选择到数据点开修改模态框的时候里面已经有当前你选择的数据,这样就方便用户们修改。回填数据其实也很简单,根据当前所选数据的可以判断唯一的ID然后到控制器中写个查询,把你所选的数据查询出来,然后到视图的点开模态框事件中用个”post”异步提交数据,根据json对象填充form表单,把数据回填就OK。
$.post(“SelectStudentById”, { StudentID: studentID }, function (data) {}
$.post(控制器中的方法,{参数},回调函数){}
异步提交有很多种方法,在这里就不一一解说了。
修改还有个就是数据库保存数据那里和新增的有些不同,新增的用的是”.Add”,的方法来保存数据,而修改不同,如下
myModels.Entry(dbUser).State = System.Data.Entity.EntityState.Modified;
实例化的Models. .Entry(需要修改的表).State = System.Data.Entity.EntityState.Modified; 修改的其他部分大致和新增差不多。
删除是最简单的,给删除写个点击事件,当你选中数据想要删除的时候给个提示框
layer.confirm(“你确定要删除该公告类型”, { icon: 3, title: ‘提示’ }, function (index) {},这里用到一个layui的插件。然后到控制器中写个删除的方法,很简单,通过你所选中的数据可以认证的ID到数据库中的表查询出这条数据然后进行删除,删除在这里用到的关键字是” Remove”,移出的意思。用法和新增的一样
myModels.SYS_NoticeTypeTable.Remove(sysNoticeTypeTable);
实例化的Model.数据库存放你所选中的数据的表. Remove(你所查询出来的数据),就是把你所查询出来的数据从数据库中的表中移出。然后到删除的点击事件写个异步提交就完事了。这样一个简单的删除就可以做出来了。
新增、修改、删除这些当然也分单表和多表的,但差别不是很大,只是在查询部分需要用到的单表查询和多表查询,其他部分大致相同。
- Eclipse远程调试出现“JDWP Transport dt_socket failed to initialize”的解决方案
- Django 博客教程:前言和环境安装(连载一)
- (52) 抽象容器类 / 计算机程序的思维逻辑
- mysql的查询、子查询及连接查询
- 简陋的分布式爬虫(附项目代码地址)
- 使用PowerShell简化我的工作
- 几个提高工作效率的Python内置小工具
- J2EE相关总结
- (53) 剖析Collections - 算法 / 计算机程序的思维逻辑
- Flask使用Blueprint进行多模块应用的编写
- 优雅的在终端中编写Python
- Eclipse相关问题
- (54) 剖析Collections - 设计模式 / 计算机程序的思维逻辑
- Django 博客教程(三):创建应用和编写数据库模型
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 容器部署Spring Cloud项目
- Python 爬虫篇-爬取网页中的图片,图片爬取实例演示。
- Python 爬虫进阶篇-4行代码实现爬取指定网站中的全部图片,深入剖析
- Python+selenium 自动化-基本环境搭建
- Java多线程与并发笔记
- Python 技术篇-pygame库实现播放音乐,带漂亮小界面!
- Java底层:GC相关
- Python 技术篇-pygame界面添加图片不显示,原因及解决办法
- SpringBoot集成Graylog
- Python 技术篇-pygame播放音乐没有声音,原因及解决办法
- Docker安装Graylog
- Spring Batch快速入门
- Python 技术篇-用PIL库修改图片尺寸
- 从行动上支持鸿蒙,HarmonyOS开发环境搭建快人一步
- 智能合约编程语言-solidity快速入门(下)