作者:狮子座刘娜_676 | 来源:互联网 | 2023-02-01 18:57
开发工具与关键技术:VS , ASP.NET.MVC;作者:吴维杰撰写时间:2019.04.29 数据库的编程基础:增,删,查,改,是在我所学的这个项目中用的最多的,它们百变不
开发工具与关键技术:VS , ASP.NET.MVC;
作者:吴维杰
撰写时间:2019.04.29
数据库的编程基础:增,删,查,改,是在我所学的这个项目中用的最多的,
它们百变不离其中一些关键的.
下面讲新增重要部分.
页面部分:
首先是控制器方法的引用,与以往不同的是,它是在页面代码html样式代码中引用.
如下图(1):
然后获取新增所需要的页面数据,通过form表单获取到它们的name值,从而获取到它们的数据.
如下图(2):
再然后经过许多新增数据的判断,就用到了jQuery的一个插件jquery.form.js里面的方法,所以在使用ajaxSubmit(odj)方法前,需要引入插件.
ajaxSubmit( )直接通过from表单提交数据会在提交后,跳转到图1中action所指向的页面,
我们需要的是提交表单后,停留下来,所以使用ajaxSubmit(odj)来提交数据.
ajaxSubmit(odj):使用这个方法来提交新增的from表单数据后不会跳转到指定页面.
代码如下
$("#formInsertExaminee").ajaxSubmit(function (returnJson) { }:
控制器部分:
经过一个简单的查询,让数据库的数据等于页面传过来的数据,从而判断录入的数据是否与数据库的数据重复.
如下面代码:
左边数据为数据库的数据,右边的为页面传过来的数据
int countStudent = (from tbStudent in myModels.PW_Student
where tbStudent.StudentNumber == pwStudent.StudentNumber ||
tbStudent.StudentIDNum == pwStudent.StudentIDNum
select tbStudent).Count();
新增学生信息(新增学生表),首先要新增用户和角色的明细.
这里需要用到了用户表和角色明细表.在这个方案中学生的
登录账号都是个人自己的学号,所以用户表的用户账号等于学生表的学号.
然后保存到用户表
如下代码:
pwUser.UserNuber = pwStudent.StudentNumber;
//用户密码同账号,密码需要加密之后保存到数据库
pwUser.Password = Common.AESEncryptHelper.Encrypt(pwUser.UserNuber);
myModels.PW_User.Add(pwUser);
定义一个变量userId,让它赋值为用户表的用户ID,然后新增一个学生表,
让用户表的用户ID等于新建学生表的学生ID,和,这样就把它们主键和外键关系连接起来.
这样在新增学生表的时候对应的数据也会新增到用户表.
然后新增到学生表:myModels.PW_Student.Add(pwStudnet);
代码如下图(3):
新建角色明细表的用户ID等于用户表的用户ID,让它们主键和外键关系连接起来
这样在新增学生表的时候对应的数据也会新增到角色明细表
然后新增到学生表:myModels.PW_StudentRoleDetail.Add(pw StudentRoleDetail);
myModels.各自新增信息的表.Add(数据库表在控制器的名称);
意思是:把新增的表保存到数据库的数据.
经过传回到页面后用ajaxSubmit(odj)来提交数据表单.
代码如下:
新增用户角色明细表
PW_UserRoleDetail pwUserRoleDetail = new PW_UserRoleDetail();
pwUserRoleDetail.UserID = userId;
pwUserRoleDetail.UserTypeID = 6;
myModels.PW_StudentRoleDetail.Add(pwUserRoleDetail);