条件查询
……………………………………………………………………………………………………………
开发工具与关键技术:Visual Studio 2015 C#
作者:林敏静
撰写时间:2019年5月6日
……………………………………………………………………………………………………………
我们要在数据库里查找某一条数据,就根据那条数据的条件(什么范围,什么类型,)就可以快速地从数据库里筛选查找出来,就像去超市买东西,你要买的东西在哪个区域就去哪个区域找,比如说我要买一条毛巾,就在日用品那个区域那里找,若果去到卖食品的区域能找到吗?(好吧,不能完全否认,别的顾客放在那里也不出奇)。本文呢就一个例子对条件查询的方法进行简单的讲解(方法当然不止一种!但这里只讲一部分!)。
如下图,这里呢根据下拉框的选择值或者是input文本框输入的条件进行查询数据的(未执行查询之前的表格数据是默认显示的),关于绑定下拉框数据的方法在这里就不多做解释(另外一篇文章有详细的讲解,感兴趣的可去查看哦!),主要讲条件查询数据方面。
来到控制器这里写查询数据和条件查询的方法(如下图),参数是用来通过传参接收页面请求的数据,通过Linq语句进行连表查询视图需要显示的数据,
然后根据查询条件把需要的数据筛选出来,对查询到数据的进行切割分页,最后把数据返回到视图。
写好方法我们就到视图这边来调用执行查询的方法,在执行查询之前进行判断,首先获取到下拉框的选择值,并不是每个下拉框都得有选择值才能查找数据的,你可以选中一个或两个也会执行查找,判断到没有选择值的下拉框就把它赋值为0,还有判断文本输入框有没有输入内容,若输入的内容在数据库里查找不到就把它赋值为空。判断完成就可以去请求数据,请求到数据之后就会刷新页面。
我们来到页面上调试一下,在下拉框里分别选择数据,点击执行查询,某学院某年级某班级的学生的详细信息就出来了(姓名列隐藏起来了,因均为真实数据,目的保护他人隐私)。
接着在输入框数据执行查询,竟然是无!数!据!!!难道是出现Bug了吗???
当然没有啦!你们仔细看看,在学号输入框输入数据了,但是刚刚在下拉框那边选择的数据还在,执行查询就先根据下拉框的选择值执行查询,从查询出来的数据里再根据在学号输入框输入的相关数据执行查询,根据下拉框的选择值查询出来的数据里都没有学号输入框输入数据要查找的具体数据,当然显示无数据啦。
那这问题该咋整呢?我们可以写一个点击事件,即在点击文本输入框的时候,把所有下拉框赋值为0,就是让那三个下拉框回到初始值。
再次来到文本框里输入相关信息执行查询就有数据啦!(若需要从下拉框选择值查询出来的数据里再查找具体数据就不用使用这个方法)
上面例子呢就讲了两种条件查询的方法,一种是通过下拉框选择值执行查询筛选数据,另一种就是直接填入相关信息执行查询到数据,希望本文的分享对您有所帮助(亦请多多指教)
注:本文例子来自课堂案例