zoukankan      html  css  js  c++  java
  • LinQ的高级查询

    模糊查询:

    //数据库 + 自定义名称 =new 数据库
    //例子:
    mydbDataContext con = new mydbDataContext();
    //模糊查询表达式中用.Contains
    con.car.Where(r=>r.name.Contains(TextBox1.Text.Trim())).ToList();
    //开头查用.StartWith
    con.car.Where(r => r.name.StartsWith(TextBox1.Text)).ToList();
    //结尾查用.EndWith
    con.car.Where(r => r.name.EndsWith(TextBox1.Text)).ToList();

    最大值,最小值:

    //最大值
    //例子:
    con.car.Max(r => r.price * r.oil).ToString();
    //最小值
    //例子:
    con.car.Min(r => r.price).ToString();

    求和,平均值:

    //求和
    con.car.Sum(r => r.price).ToString();
    //平均值
    con.car.Average(r => r.price).ToString();

    升序,降序:

    //升序:
    con.car.OrderBy(r => r.price).ToList();
    //降序:
    con.car.OrderByDescending(r => r.price).ToList();

    上一页,下一页,组合查询:

    int PageCount = 5;//每页显示条数
    //上一页,PageCount_Label.Text为当前页码
    int pageNum = Convert.ToInt32(PageCount_Label.Text) - 1;
            Repeater1.DataSource = con.car.Skip((pageNum - 1) * PageCount).Take(PageCount);
            Repeater1.DataBind(); 
            PageCount_Label.Text = pageNum.ToString();
    //下一页
    int pageNum = Convert.ToInt32(PageCount_Label.Text) + 1;
    
            Repeater1.DataSource = con.car.Skip((pageNum - 1) * PageCount).Take(PageCount);
            Repeater1.DataBind();
            PageCount_Label.Text = pageNum.ToString();
    //组合查询的点击事件
    List<car> list = con.car.ToList();
    
            if (TextBox2.Text != "")
            {
                List<car> list1 = con.car.Where(r => r.name.Contains(TextBox2.Text)).ToList();
    
                list = list.Intersect(list1).ToList();
            }
            if (TextBox3.Text != "")
            {
                List<car> list1 = con.car.Where(r => r.oil == Convert.ToDecimal(TextBox3.Text)).ToList();
    
                list = list.Intersect(list1).ToList();
            }
            if (TextBox4.Text != "")
            {
                List<car> list1 = con.car.Where(r => r.powers == Convert.ToInt32(TextBox4.Text)).ToList();
    
                list = list.Intersect(list1).ToList();
            }
    
    
            Repeater1.DataSource = list;
            Repeater1.DataBind();
  • 相关阅读:
    训练20191009 2018-2019 ACM-ICPC, Asia East Continent Finals
    [学习笔记] 有上下界网络流
    [HDU4609] 3-idiots
    [HDU1402] A * B Problem Plus
    [HNOI2017] 礼物
    训练20191007 2017-2018 ACM-ICPC Latin American Regional Programming Contest
    [ZJOI2014] 力
    训练20191005 2017-2018 ACM-ICPC Asia East Continent League Final
    [一本通学习笔记] 树链剖分
    [一本通学习笔记] 快速幂
  • 原文地址:https://www.cnblogs.com/dreamer666/p/6100711.html
Copyright © 2011-2022 走看看