通过时间日期格式为参数进行模糊查询

本文介绍在Visual Studio中使用ASP.NET MVC进行模糊查询的方法,包括如何利用lambda表达式进行多表查询及时间日期格式参数的处理,提高数据检索效率。

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

开发工具与关键技术:Visual Studio ASP.NET MVC

作者:刘剑鸿

撰写时间:2019年07月25日 星期四

               通过时间日期格式为参数进行模糊查询

刚学会查询操作,觉得有了这个查询操作,对数据的运用方便极佳。所需的数据都能在通过数据表格,或者其他的文本标签等等显示出来。然而,随着数据量的增加,发现找到想要的哪条数据越来越麻烦。因此又有了一种更方便的查询方法。。。

模糊查询是常见的一种查询方法,它能够具体找到我们所需求的数据。从而更方便的找到所想找的数据。就比如经常使用的百度:
在这里插入图片描述

通过在该文本框输入所想要的数据,就能查询到大概的数据。

当在数据表格进行查询时,只要把所进行筛选文本框的值放在封装的查询函数里面,然后处方封装的查询函数即可。一般在进行数据表格的查询,查询条件的文本框都不止有一个。例如:
在这里插入图片描述

下面是封装的查询函数的代码:

 function tabSearchAchievement() {

        var AcademeID = $("#sltAcademe").val();

        var GradeID = $("#sltGrade").val();

        var ClassID = $("#sltClass").val();

        if (AcademeID != null && GradeID == null && ClassID == null) {//只根据学院ID查询学生信息

            GradeID = 0;//年级ID

            ClassID = 0;//班级ID

        }

        else if (AcademeID != null && GradeID != null && ClassID == null) {

            ClassID = 0;//班级ID

        }

        TabStuAchievement =
    layuiTable.reload("tabStuAchievement", {

            url: "SelectAchievement",

            page: {

                curr:1,

            },

            where: {

                AcademeID: AcademeID,

                GradeID: GradeID,

                ClassID: ClassID,

            }

        });

    }

之所以设置if判断语句,是为了防止不不输入值时会触发的报错。Where语句是参数的链接,这是与控制器对应的参数链接。代码的格式和平时多表查询差不多。不同的是:

 select new AchievementInfor{},下面要加上

  if (AcademeID != 0)//筛选所以学院

        {

            listResult = listResult.Where(m
 => m.AcademeID == AcademeID);

        }

        if (GradeID > 0)

        {

            listResult = listResult.Where(m
        => m.GradeID == GradeID);

        }

        if (ClassID > 0)

        {

            listResult = listResult.Where(m
        => m.ClassID == ClassID);

        }

通过lambda表达式进行对多表查询出来的数据进行筛选。

但是时间日期格式作为参数的话会比较特殊,而且lambda表达式的写法也稍微出现点变化。

例如:releaseTime是作为参数传递过来的,ReleaseTime是多表查询查出来的数据。那么它的写法就应该这样: if (!string.IsNullOrEmpty(releaseTime))
//发布时间不为空

        {

                //Convert.ToDateTime万能转换

                DateTime dtreleaseTime = Convert.ToDateTime(releaseTime);

                items = items.Where(p =>
       p.ReleaseTime == dtreleaseTime);

        } 

Convert可以想象成转换器,它在这里把字符串类型的releaseTime,转换为DateTime类型的dtreleaseTime。进而将它们进行比较。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值