新增数据
(开发工具与关键技术:VS JS 作者:纳兹 撰写时间:2019.05.07 代码来源:老师上课)
新增顾名思义就是添加一个新的信息,这个新增的信息会保存到数据库中·。。
新增需要获取页面信息数据,也就是需要新增的具体数据,因为这个例子是个学生数据的新增,所以里面还有身份证信息验证、判断学号与验证码是否一致等。新增数据步骤与·修改大致一样。当数据填写不完整时,数据保存失败,就会弹出一个提示框提示,书局填写不完整,需要重新填写,当判断有误时也会弹出提示框,提示异常。新增和修改数据只能单条新增或单条修改数据,而删除可以批量删除或单条数据的查询。新增和修改比删除繁杂一点,新增不能新增一摸一样的数据,新增数据库已有的数据,数据会报异常。
下图为学生信息的新增例子
首先实例化returnjson,这里实例化returnJson是为了方便ReturnJsonVo里面数据的使用。
用try…catch捕获一下异常,try…catch可以在代码发生异常时捕获异常;在try里面声明一个int类型地变量(countStudent)接收查询到的数据,Count是查询出有多少条数据,在这里声明的变量(countStudent)未来判断数据库是否已经存在相同的学生信息。判断变量(countStudent)等于0时,声明一个变量(countUser)查询新增的用户认证码是否与数据库用户表里的认证码一致;然后判断变量(countUser)等于0时,因为新增的顺序很重要,根据各表之间的关系,这个学生例子表格新增的顺序为用户表到学生表再到用户角色明细表,在这里学生表和用户角色明细表新增的顺序可以互换,在这个新增里调换影响不大。新增用户表,即新增用户账号,这里的用户账号等于学生学号,然后用add添加到数据库,当调用SaveChanges是数据会添加到数据库。
判断((myModels.SaveChanges())大于0时就会保存新增的数据到数据库中,在判断里面声明一个变量(userId)去获取新增的用户ID,要新增学生表,声明一个byte[]类型的字节型数组来保存新增的图片;然后继续用(if)判断上传的图片文件是否为空,如果上传的图片文件不等于空值(null)或上传的图片长度大于0,在这个判断里面初始化数组的长度,为了节省内存空间,长度由实际上传的图片的长度决定。读取该图片文件,将图片转为流结束位置,将流读取为byte[]字节型数组,参数byte[],读取开始位置,读取字节数;新增学生图片、用户ID、学生状态,当调用SaveChangs是数据会添加到数据库。
判断((myModels.SaveChanges() > 0)时用户角色明细表新增,用户角色明细表新增用户ID、用户类型,当调用SaveChangs是数据会添加到数据库。判断(if)里面SaveChanges大于0时新增成功返回true,提示新增成功,否则新增失败;新增失败有可能是用户角色明细表保存失败,有可能是学生表保存失败,有可能是用户表保存失败;也有可能已经存在相同的认证码或者数据重复。当一条数据新增成功,数据库会更新多一条数据。
以上为数据库新增