zoukankan      html  css  js  c++  java
  • C#-WebForm-LinQ-条件精确查询、高级查询

    前台界面,并在后台绑定数据

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Cars.aspx.cs" Inherits="Cars" %>
    
    <!DOCTYPE html>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
            <div>
                Name:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                Brand:<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
                Oil:
            <asp:DropDownList ID="DropDownList1" runat="server">
                <asp:ListItem Value="=">等于</asp:ListItem>
                <asp:ListItem Value=">=">大于</asp:ListItem>
                <asp:ListItem Value="<=">小于</asp:ListItem>
            </asp:DropDownList>
                <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
                Price:
            <asp:DropDownList ID="DropDownList2" runat="server">
                <asp:ListItem Value="=">等于</asp:ListItem>
                <asp:ListItem Value=">=">大于</asp:ListItem>
                <asp:ListItem Value="<=">小于</asp:ListItem>
            </asp:DropDownList>
                <asp:TextBox ID="TextBox4" runat="server"></asp:TextBox>
                <asp:Button ID="Button1" runat="server" Text="查询" />
                <br />
                <br />
    
                <table style=" 100%; text-align: center;" border="1" cellpadding="0" cellspacing="0">
                    <tr style="background-color: navy; color: white;">
                        <td>Code</td>
                        <td>Name</td>
                        <td>Brand</td>
                        <td>Time</td>
                        <td>Oil</td>
                        <td>Powers</td>
                        <td>Exhaust</td>
                        <td>Price</td>
                        <td>Pic</td>
                    </tr>
                    <asp:Repeater ID="Repeater1" runat="server">
                        <ItemTemplate>
                            <tr>
                                <td><%#Eval("Code") %></td>
                                <td><%#Eval("Name") %></td>
                                <td><%#Eval("Brand") %></td>
                                <td><%#Eval("Time") %></td>
                                <td><%#Eval("Oil") %></td>
                                <td><%#Eval("Powers") %></td>
                                <td><%#Eval("Exhaust") %></td>
                                <td><%#Eval("Price") %></td>
                                <td><%#Eval("Pic") %></td>
                            </tr>
                        </ItemTemplate>
                    </asp:Repeater>
                </table>
    
            </div>
        </form>
    </body>
    </html>
    前台界面代码

    条件查询:Lambda表达式  Repeater1.DataSource = con.Car.Where(r => r.Name == name);

    比如按照Name进行精确查询

    public partial class Cars : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                using (CarDataContext con = new CarDataContext())
                {
                    Repeater1.DataSource = con.Car;
                    Repeater1.DataBind();
                }
            }
            //<查询>按钮
            Button1.Click += Button1_Click;
        }
        //<查询>按钮
        void Button1_Click(object sender, EventArgs e)
        {
            //Name文本框
            string name = txt_name.Text;
            //对数据库进行操作
            using (CarDataContext con = new CarDataContext())
            {
                //有条件时查询满足条件的数据
                if (name.Length > 0)
                {
                    Repeater1.DataSource = con.Car.Where(r => r.Name == name);
                }
                //无条件时查询全部数据
                else
                {
                    Repeater1.DataSource = con.Car;
                }
                Repeater1.DataBind();
            }
        }
    
    }
    条件精确查询

    多条件查询:Repeater1.DataSource = con.Car.Where(r => r.Name == name && r.Price == Convert.ToDecimal(price)).ToList();

    public partial class Cars : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                using (CarDataContext con = new CarDataContext())
                {
                    Repeater1.DataSource = con.Car;
                    Repeater1.DataBind();
                }
            }
            //<查询>按钮
            Button1.Click += Button1_Click;
        }
        //<查询>按钮
        void Button1_Click(object sender, EventArgs e)
        {
            //Name文本框
            string name = txt_name.Text;
            string price = txt_price.Text;
            //对数据库进行操作
            using (CarDataContext con = new CarDataContext())
            {
                //有条件时查询满足条件的数据
                if (name.Length > 0)
                {
                    Repeater1.DataSource = con.Car.Where(r => r.Name == name && r.Price == Convert.ToDecimal(price));
                }
                //无条件时查询全部数据
                else
                {
                    Repeater1.DataSource = con.Car;
                }
                Repeater1.DataBind();
            }
        }
    
    }
    多条件精确查

    高级查询

    一、模糊查询(包含字符串)

    Repeater1.DataSource = con.Car.Where(r => r.Name.Contains(name)).ToList();

    二、开头、结尾

    Repeater1.DataSource = con.Car.Where(r => r.Name.StartsWith(name)).ToList();

    Repeater1.DataSource = con.Car.Where(r => r.Name.EndsWith(name)).ToList();

    三、最大值、最小值

    //模糊查询并绑定数据

    IQueryable<Car> clist = con.Car.Where(r => r.Name.Contains(name)).AsQueryable();

    Repeater1.DataSource = clist;

    //展示数据个数

    Label1.Text = clist.Max(r => r.Price).ToString();

    //展示数据中最小的

    Label2.Text = clist.Min(r => r.Price).ToString();

    四、个数

    //模糊查询并绑定数据

    IQueryable<Car> clist = con.Car.Where(r => r.Name.Contains(name)).AsQueryable();

    Repeater1.DataSource = clist;

    //展示数据个数

    Label1.Text = clist.Count().ToString();

    五、平均值、和

    平均值:Average

    Label1.Text = con.Car.Average(r => r.Price).ToString();

    和:Sum

    Label1.Text = con.Car.Sum(r => r.Price).ToString();

    六、升序、降序

    升序:

    Repeater1.DataSource = con.Car.OrderBy(r => r.Price);

    降序:

    Repeater1.DataSource = con.Car.OrderByDescending(r => r.Price);

    分段排序 - ThenBy()

    IQueryable<Car> clist = con.Car.AsQueryable().OrderBy(r => r.Brand).ThenBy(r => r.Oil);

  • 相关阅读:
    使用Pandas DataFrames在Python中绘制条形图
    在Pandas DataFrames中选择行和列使用iloc,loc和ix
    如何使用[] 、. loc,iloc,.at和.iat
    Pandas 分类数据
    按索引和值对Pandas DataFrame进行排序
    可能需要的建议
    时间线
    第四章-赶路
    第三章-担忧
    lipo命令拆分、合并iOS静态库
  • 原文地址:https://www.cnblogs.com/qq450867541/p/6382958.html
Copyright © 2011-2022 走看看