多表查询

开发工具与关键技术:VS与MVC
作者:刘华叶
撰写时间:2019年5月5日

MVC是软件工程中的一种软件架构模式,涉及到的知识点也是相当的广泛,增删查改,是最基本的操作,这里面查询的知识点也是很多的了,查询可以通过班级信息,年级信息,学生信息等,查询到你所需要查询的数据,下面我就用所学知识做了一个多表查询,跟大家分享一下。

多表查询

首先在这个控制器当中添加一个方法,然后在后面设置,要查询的表和相应的参数,然后在通过匿名类型关键字var,后面设置相应的参数,在到数据库设置要查询的表,然后在进行一个连接。
然后建一个表接收myModels实体返回来的数据,PW_Student学生表与SYS_Academe学院表通过AcademeID进行连接,SYS_Academe学院表与SYS_Specialty专业表通过SpecialtyID进行连接,SYS_Specialty专业表与SYS_Grade年级表通过GradeID进行连接,SYS_Grade年级表在与SYS_Class班级表通过ClassID进行连接,SYS_Class班级表在与PW_User用户表通过UserID进行连接,后面再通过学生表和学生ID进行倒序排序。
多表查询

在查询实体类,再到数据库查询需要的字段,首先这个学生ID等于学生表里面学生ID,用户ID对于用户表里面的用户ID,学号等于学生表里面的学号,姓名等于学生表里面的姓名,下面的字段的查询,都是一样的。

多表查询

在通过if语句判断存不存在学院,如果存在学院,就找出相等的学院ID,然后在判断年级ID,班级ID,如果存在,就找出相等的ID,然后在判断学生信息是否为空,如果为空就会跳过去,不为空就执行下面的代码,在获取总数,如果数据多的话,就要进行分页,分页的话就要获取行总数,和具体显示数据,然后在返回分好页的数据。

多表查询

然后在创建的视图这边构建页面,在获取input标签里面的内容并判断,是不是为空,如果为空·就为0,不为空就直接跳过。
多表查询

然后在调用表格刷新函数reload,在设值链接,在重新再第一页开始,页面上的参数需要和控制器那边的参数保持键值对,前面的ID是控制器的,后面的是视图页面的。