批量新增

                 批量新增
开发工具与关键技术:VS  MVC
作者:彭春怡
撰写时间:2019/4/4

大家,下面给大家介绍的是批量新增。相信大家对于对于新增的简单了解呢,就是添加新的内容。对事实本来就是这样,就是字面上解释。对于本人来说,新增有单项新增跟批量新增,单项新增就是一个一个添加自己想要的内容,一次只能添加一个。批量新增就是可以一次性把自己想要的内容添加完。如果要添加的内容比较多的有最后是使用批量新增。而本人想给大家介绍的是批量新增,是在控制器中使用的方法。如有不对的地方,欢迎指教,谢谢。
方法的头部:
图1
在这里插入图片描述

要创建方法首先要写public,“public”是关键字。“ActionResult”是返回的数据类型。“InsertCertificate”
是方法的命名。“List< T >”表示可以通过索引访问的对象的强类型列表。提供用于列表进行搜索、排序、操作的方法, “T”就是“Achievement”。“Achievement”是视图传过来的实体类。“listID”参数是一个ID的集合。“ReturnJson msg = new ReturnJson();”是实例化“msg”参数。“int count = 0;与int excount = 0;”记录已经存在与新增的数据条。这便是上图的解释。
图2
在这里插入图片描述
为了捕抓错误给它一个“try”。“foreach”循环,“Achievement”是实体类,“item”声明变量,“listID”声明的一个集合ID。
判断学生是否有证书:“AchieveentID”是整数,所以用“int”类型,“Convert”的意思是将现有的数据类型,转换为另一个数据类型,“ToInt32”的意思是将数字的指定字符串表示形式转换为等效的32位带符号的整数,ToInt32过号里的是一个局部变量,加一个封装好的成绩ID。
查询成绩:根据ID去证书表里面查询,“var tbAchievement = myModel.CertificateITable.”的意思是“tbAchievement”表来自于数据库“CertificateITable”表。“Where(m => m.AchievementID == AchievementID)”的意思是把你在“AchieveentID”里面需要要的内容新取出来。ToList();是返回表的意思。
判断证书数据是否存在:如果“tbAchievement”的“Count > 0”,那就是表示证书数据存在。“excount++”是每次加1的意思,如果存在呢,就给它每次自动加1。
图3
在这里插入图片描述
图3就是新增的操作的,就是如果证书的数据不存在的话,就需要给它一个新增操作。“else”创建新增操作。
首先是声明局部变量,“from Achievement in myModel.PW_Achievement join tbStudent in myModel.PW_Student on Achievement.UserID equals tbStudent.UserID”的意思是Achievement
表是来自于事件库的PW_Achievement表,tbStudent表是来自于事件库的PW_Student, tbStudent表要连接Achievement表,Achievement.UserID等于tbStudent.UserID。接下来就是把在AchievementID里面需要的内容选取出来,然后将序列中的每个元素投影到新的列表中“tbStudent.StudentNumber”. Take(1)是序列中返回指定数量连续的元素,然后返回表。
定义一个变量去获取学生的编号。实例化一个对象“modCertificate”。给对象“modCertificate”赋值:
AchievementID、CertificateNumber、IssuanceUnit、IssuanceTime就是“modCertificate”对象的赋值。“Convert”将基本的数据类型转换为其它另一个数据类型,“ToString”返回指定的字符串,不执行实际转换。“DateTime”指定当前的时间,“Now”获取当前的时间。最后新增,“myModel.CertificateITable.Add(modCertificate)”把自己创建的对象放近Add过号里便可。
如果SaveChanges()>0那便表示新增成功,给它一个count++,每次自动加1。成功返回便是true,
接下来就是提示了,提示你成功新增了多少条数据,你要新增的数据是否重复,如有重复新增失败,还有你有可能出现错误的数据有多少条。组成一个字符串。就这样新增的操作已完成。
图4
在这里插入图片描述
“catch”是如果捕抓到“try”中的错误,就会直接跳到图4来,显示“false”。但如果捕抓到的错误有判断的话是不会跳的这里来的。“Exception”是表示在应用程序执行的过程中捕抓到的错误。“e”就是一个提示的作用。“msg”是局部变量,“State”是状态,“fale”一般都是遇到错误的提示。“Text”文本的意思,“Text=“ ””是 = 的后面表示文本,一系列字符串。“return Json(msg, JsonRequestBehavior.AllowGet);”是返回请求的参数 ,“JsonRequestBehavior”是作为返回值的参数。
以上是我个人对批量新增的见解,如果有不对的地方,欢迎指教,谢谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值