修改数据

这篇博客详细介绍了如何在数据库中修改数据,强调了修改数据时的注意事项,包括根据ID查询并修改学生信息,处理可能出现的异常,以及如何避免数据重复导致的错误。在修改操作中,涉及到了try...catch异常处理机制,以及如何确保数据的一致性和完整性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

                                    修改数据
  (开发工具与关键技术:VS JS  作者:纳兹  撰写时间:2019.05.08 代码来源:老师上课)

修改数据即在原有的数据基础上修改数据。
下图例子是学生信息的修改。修改表格数据代码和新增数据差不多,修改一条数据,就代表原来的数据被修改过后的数据覆盖掉了,在数据库也找不到原来存在的数据,修改建议在新增的数据上修改,数据库原本就有的数据随便修改很危险。修改首先根据ID查询图片,用try…catch去捕获一下异常,在try里面声明一个变量(studentPic)去接受需要查询的出的数据,在这里需要查询出来的数据只有一条,studentPic接受到一条数据,当少于一条或多于1条时,它就会报错,Single只能接受一条查询数据,当没有查询出数据它也会触发异常。然后用byte[]数组声明一个变量(stuPic)去接收传过来的值。返回接收的之和文本。否则在catch里返回失败的字符,报异常。
在这里插入图片描述
根据ID查完图片信息后,在修改前我们还需要根据ID查询出学生的基本信息,也用try…catch来捕获异常,根据需要查询的数据从需要查询的那张表查询出需要查询出的数据,join在这里连表查询,查询学生信息不可能只有一张表就能查询出它需要查询的全部的学生信息,所以需要用join连表查询,这里查询出来的数据也是只有一条,尽管查询表查询的数据多,但最终显示出来查出的只有一条数据,多于一条或少于一条都会发生数据异常。
最后我们查询出需要修改的图片和学生信息了之后,把需要修改的数据填好了之后,我们需要保存一下修改的数据,否则就没有修改那条数据。保存修改数据也需要用·try…catch来捕获一下异常,在try里面,声明一个int类型的·变量(countStudent),判断学生信息是否与·数据库已有数据重复,在学生表里查询,学生ID、身份证号、学生号是否重复,查询出有多少条(Count())数据是重复的;然后判断(if)声明的变量(countStudent)等于0的时候,声明int类型变量(countUser),查询里面的用户ID、认证码是否重复,有多少条数据是重复的;再判断(if)变量(countUser)等于0,修改用户表,先修改用户账号、密码,然后保存修改,将修改后的数据保存到数据库(SaveChanges())中去。然后再修改学生表,查询提取需要修改的学生信息,查询提取出一条需要修改的学生数据,在这张学生表里面,需要修改的有身份证号、学号、姓名、性别、学院ID、年级ID、专业ID、班级ID、图片这些数据;修改图片需要判断图片是否为(null)空值,判断图片不等于空值或图片长度大于0,声明图片的变量等于空值,图片的变量长度new一个新的byte[]数组里面的字符串,初始化byte数组的长度,为了节省空间长度由最后实际上传的长度决定,最后读取图片,在图片里面存入变量。最后保存上面的修改,判断(if)里面的(myModels.SaveChanges() > 0)时数据保存成功,同时数据库的数据也会发生改变,更新到新保存的数据;否则保存失败。和已有数据库里面存在的信息重复数据也会保存失败。
身份证修改需要身份证信息验证,使用正则表达式判断它的字符长度,数字长度是否为18位,长度为18才是身份证的字符长度,否则输出错误,重新填写。这里的学号和认证码是一致的,在这里也要判断一下它们是否一致。
以上为修改数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值