首页 > 编程知识 正文

多条件查询函数,mysql多条件查询

时间:2023-05-06 02:11:26 阅读:187789 作者:1251

多条件查询 开发工具与关键技术:MVC 专题技术作者:小巧的白羊撰写时间:2019/4/3

下面我想给大家介绍一下多表查询。对于入学差不多一年的我来说,我相信大多数的新手,就是刚刚进入IT的学习者,在学习IT的路上,学习查询、新增、修改、删除是不可避免的。因为这是做项目通常用到的,所有老师跟我们,查询、新增、修改、删除对于我们来说是很重要的。非学会不可
查询有条件查询、单表查询、多表查询、等等。而我要介绍的是多条件查询,希望给新学者一点帮助,如有不对的地方,请指教,谢谢。
第一步:

解释第一步的意思:
要定义方法首先是写“public”, “public”是写查询的关键字,”ActionResult”是返回的类型。 “SelectStudentAll”是自己定义的名字,就是定义方法的名称。“LayuiTablePage”作用是负责接收视图传过来的分页数据。“layuiTablePage”就是参数的一个名称。多条件查询,是要连接多个ID的,是根据学院、年级、班级、学生号、名字五个条件进行进行查询的。当然我这里是这五个条件,但做其它的多条件查询的话,那就是相关的多表连接了。第一个年级ID是 int类型,所以用“int”。记住一定要类型对应才能进行判断与对比。一般的ID都是用“int”类型的,就像第二个年级ID,第三个班级ID,也是“int”类型的。其它想了解,可以到网上查找一下。接下来就是定义一个表,去查询学生的成绩后面跟着一个自命名字段“tb”,in myModel,是封装出来的实体。然后就是数据来自“PW_Student”学生表。简单的解释就是查询学生的成绩,然后学生成绩的数据来自学生表。
接下来就给大家介绍一下表与表之间的连接如下:
“join tbUser in myModels.PW_User on tbStudent.UserID equals tbUser.UserID”
Join:按照两个指定的匹配条件来equals连接两个数据源的意思。“in”是在哪里的意思。“on”是要连接的表的意思。“equals”是“=”的意思。然后就是数据来源那个表。
总体的意思通过tbUser在PW_User查询然后连接学生表。UserID等于tbUser。然后数据来源UserID
第二步:
下面就是构建的实体类:

解释一下第二步的意思:
select new Student{
studentID = tbStudent.studentID,
}
“select new Student”查询新的学生数据
很简单,学生ID是来自学生表,所以等于那个表。然后变成实体类“studentID”。这就是构建实体类的方法。以上图片“studentID = tbStudent.studentID,”的解释是一样的。
第三步:

下面解释一下第三步的意思:
if (AcademeID > 0)
{
listStu = listStu.Where(m => m.AcademeID == AcademeID);
}
“if (AcademeID > 0)就是如果年级ID参数大于0.“listStu = listStu”局部变量,是不变的。”where()”是判断的意思,“m => m”是lambda表达式的写法的法。“AcademeID == AcademeID”第一个“AcademeID”是你封装起来的一个ID,第二个“AcademeID”是页面传过来的参数。连起来where过号里面的内容是在“listStu”里的内容把自己需要的内容选取出来。
if (!string.IsNullOrEmpty(StudentInfo))
{
listStu = listStu.Where(m => m.StudentNumber.Contains(StudentInfo) || m.StudentName.Contains(StudentInfo));
}
if (!string.IsNullOrEmpty(StudentInfo))是判断“StudentInfo ”是否为空,不为空及执行下面的。“||”是或者的意思,就是listStu = listStu.Where(m => m.StudentNumber.Contains(StudentInfo)跟 m.StudentName.Contains(StudentInfo))的意思是一样的。
第四步:获取总数

定义一个变量,用Count();方法。List是提供列表的搜索、排序、操作的方法。然后是定义数据类型列表,去获取数据的表,“Skip”是开始获取,“layuiTablePage”参数,后面是一个方法。“Take”:获取多少,后面就是获取了多少数据量,“ToList”返回的意思。
第五:调用封装的类:

首先要实例化对象,接下来就是写行的总数,然后再写具体的显示数,然后就是返回的数据。
以上就是查询的方法,五步结束。如有不对请指教,谢谢。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。