• Linq(高级查询)


    一、条件查

    public List<Users> ss(string ids)
        {
            List<Users> ulist=new List<Users>();
    声明使用Linq类
    using (StudentDataContext con = new StudentDataContext()) { 创建条件 ulist =con.Users.Where(r=>r.Ids.ToString()==ids).ToList(); } return ulist; }

    二、高级查

    1、以xx开头:

    public List<Users> ss(string ids)
        {
            List<Users> ulist=new List<Users>();
            using (StudentDataContext con = new StudentDataContext())
            {                                            //开头方法(“字符串”)
                ulist = con.Users.Where(r => r.Username.StartsWith("")).ToList();
            }
            return ulist;
        }
    View Code

    2、以xx结尾:

    ulist = con.Users.Where(r => r.Username.EndsWith("赵")).ToList();

    3、包含xx:

    ulist = con.Users.Where(r => r.Username.Contains("赵")).ToList();

    4、个数:

    (1)有变量接收:ulist.Count;或con.users.Count()

    (2)无接受:ulist.Count();

    5、最大值:con.Users.Max(r=>r.Ids)

    6、最小值:con.Users.Min(r=>r.Ids)    

    7、平均值:con.Users.Average(r=>r.Ids)              

    8、求和:con.Users.Sum(r=>r.Ids) 

    9、排序:

    (1)、OrderBy 按升序对值进行排序。 con.Users.OrderBy(r=>r.Ids) 
    (2)、OrderByDescending 按降序对值进行排序
    (3)、ThenBy 按升序执行次要排序。 
    (4)、ThenByDescending 按降序执行次要排序。

    10、分页查询 

                    总共跳转条数             单次显示条数

    con.Users.Skip((a - 1) * page).Take(page);

    11、组合查询

    组合查询是指将前条件查询结果基础上对后集合进行查询

    例:

       int page = 3;
    
        protected void Page_Load(object sender, EventArgs e)
        {
            string id = Request["id"];
            if (!IsPostBack)
            {
                using (StudentDataContext con = new StudentDataContext())
                {
                    DropDownList1.DataSource = con.Nation.ToList();
                    DropDownList1.DataTextField = "NationName";
                    DropDownList1.DataValueField = "NationCode";
                    DropDownList1.DataBind();
    
                    Users u = con.Users.Where(w => w.Ids.ToString() == id).FirstOrDefault();
                    if (u == null)
                    {
                        Label4.Text = "";
                    }
                    else
                    {
                        TextBox1.Text = u.Username;
                        TextBox2.Text = u.Password;
                        TextBox5.Text = u.Password;
                        TextBox3.Text = u.Nikename;
                        if (u.Sex == false)
                        {
                            RadioButtonList1.Items[1].Selected = true;
                        }
                        TextBox4.Text = Convert.ToDateTime(u.Birthday).ToString("yyyy年MM月dd日");
                        foreach (ListItem li in dr_nation.Items)
                        {
                            if (li.Value == u.Nation)
                                li.Selected = true;
                        }
                    }
                }
            }
            if (Request.Cookies["name"] != null)
            {
                string a = HttpUtility.UrlDecode(Request.Cookies["name"].Value, System.Text.Encoding.GetEncoding("utf-8"));
                Label1.Text ="你好,"+ a;
            }
    
            if (!IsPostBack)
            {
                using (StudentDataContext con = new StudentDataContext())
                {
                    dr_nation.DataSource = con.Nation.ToList();
                    dr_nation.DataTextField = "NationName";
                    dr_nation.DataValueField = "NationCode";
                    dr_nation.DataBind();
                    Repeater1.DataSource =con.Users.ToList().Take(page);
                    Repeater1.DataBind();
                    Label2.Text = "1";
                    Label3.Text = (Math.Ceiling(Convert.ToDecimal(con.Users.ToList().Count) / page)).ToString();
    
                }
            }
            Button1.Click += Button1_Click;
            bt_first.Click += bt_first_Click;
            bt_last.Click += bt_last_Click;
            bt_nex.Click += bt_nex_Click;
            bt_up.Click += bt_up_Click;
    
        }
    
        void bt_up_Click(object sender, EventArgs e)
        {
            if (Label2.Text == "1")
            {
                return;
            }
            using (StudentDataContext con = new StudentDataContext())
            {
                int a = Convert.ToInt32(Label2.Text) - 1;
                Repeater1.DataSource = Data(con).Skip((a - 1) * page).Take(page);
                Repeater1.DataBind();
                Label2.Text = Label3.Text;
            }
            
        }
    
        void bt_nex_Click(object sender, EventArgs e)
        {
             using (StudentDataContext con = new StudentDataContext())
            {
            if (Label2.Text == (Math.Ceiling(Convert.ToDecimal(Data(con).Count) / page)).ToString())
            {
                return;
            }
            
                int a = Convert.ToInt32(Label2.Text) + 1;
                Repeater1.DataSource = Data(con).Skip((a - 1) * page).Take(page);
                Repeater1.DataBind();
                Label2.Text = Label3.Text;
            }
        }
    
        void bt_last_Click(object sender, EventArgs e)
        {
            using (StudentDataContext con = new StudentDataContext())
            {
                Repeater1.DataSource = Data(con).Skip((Convert.ToInt32(Label3.Text) - 1) * page).Take(page);
                Repeater1.DataBind();
                Label2.Text = Label3.Text;
            }
        }
    
        void bt_first_Click(object sender, EventArgs e)
        {
            using (StudentDataContext con = new StudentDataContext())
            {
                Repeater1.DataSource = Data(con).Take(page);
                Repeater1.DataBind();
                Label2.Text = "1";
                Label3.Text = Data(con).Count.ToString();
            }
        }
    
        void Button1_Click(object sender, EventArgs e)
        {
            using (StudentDataContext con = new StudentDataContext())
            {
                Repeater1.DataSource = Data(con).Take(page);
                Repeater1.DataBind();
                Label2.Text = "1";
                Label3.Text = Data(con).Count.ToString();
            }
        }
        public List<Users> Data(StudentDataContext con)
        {
            List<Users> ulist = new List<Users>();
            
                ulist=con.Users.ToList();
                if (name.Text.Trim() != "")
                {
                    ulist = ulist.Where(w => w.Nikename.Contains(name.Text.Trim())).ToList();
                }
                if(Ra_sex.SelectedValue!="null")
                {
                    ulist = ulist.Where(w => w.Sex == Convert.ToBoolean(Ra_sex.SelectedValue)).ToList();
                }
                ulist = ulist.Where(w => w.Nation.ToString() == dr_nation.SelectedValue).ToList();
    
                Label3.Text = (Math.Ceiling(Convert.ToDecimal(ulist.Count) / page)).ToString();
                con.Connection.Close();
                
            
            return ulist;
        }
       
    组合查询后台
    <asp:Label ID="Label1" runat="server" Text=""></asp:Label><br />
            昵称:<asp:TextBox ID="name" runat="server"></asp:TextBox>
            性别:<asp:RadioButtonList ID="Ra_sex" RepeatLayout="Flow" RepeatDirection="Horizontal" runat="server">
                <asp:ListItem Text="全部" Value="null" Selected="True"></asp:ListItem>
                <asp:ListItem Text="" Value="true"></asp:ListItem>
                <asp:ListItem Text="" Value="false"></asp:ListItem>
            </asp:RadioButtonList>
            民族:<asp:DropDownList ID="dr_nation" runat="server"></asp:DropDownList>
            <asp:Button ID="Button1" runat="server" Text="查询" />
            <table style=" 100%; background-color: blue; text-align: center">
                <tr>
                    <td>编号</td>
                    <td>用户名</td>
                    <td>密码</td>
                    <td>昵称</td>
                    <td>性别</td>
                    <td>生日</td>
                    <td>民族</td>
                    <td>操作</td>
                </tr>
    
                <asp:Repeater ID="Repeater1" runat="server">
                    <ItemTemplate>
                        <tr style="background-color: white;">
                            <td><%#Eval("Ids") %></td>
                            <td><%#Eval("Username") %></td>
                            <td><%#Eval("Password") %></td>
                            <td><%#Eval("Nikename") %></td>
                            <td><%#Eval("sexstr") %></td>
                            <td><%#Eval("birthdaystr") %></td>
                            <td><%#Eval("nationstr") %></td>
                            <td>
                                <div id="updatebtn" style="float: left;margin-left:10px">编辑</div>
                                <div id="deletebtn" style="float: left;margin-left:10px">删除</div>
                            </td>
                        </tr>
                    </ItemTemplate>
    
                </asp:Repeater>
    
            </table>
            当前第[<asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>]页
            共[<asp:Label ID="Label3" runat="server" Text="Label"></asp:Label>]页
            <asp:Button ID="bt_first" runat="server" Text="首页" />
            <asp:Button ID="bt_up" runat="server" Text="上一页" />
            <asp:Button ID="bt_nex" runat="server" Text="下一页" />
            <asp:Button ID="bt_last" runat="server" Text="尾页" />
    组合查询前台

    12、集合交集

    结构:集合1.Intersect(集合2).Intersect(集合3).ToList();

    例:

    public partial class Default2 : System.Web.UI.Page
    {
        List<test1> tlist1 = new List<test1>();
        List<test1> tlist2 = new List<test1>();
        List<test1> tlist3 = new List<test1>();
    
        protected void Page_Load(object sender, EventArgs e)
        {
            tlist1.Add(new test1() { code = "001", name = "张三" });
            tlist1.Add(new test1() { code = "002", name = "李四" });
            tlist1.Add(new test1() { code = "003", name = "王五" });
    
            tlist2.Add(new test1() { code = "001", name = "张三" });
            tlist2.Add(new test1() { code = "004", name = "李四" });
            tlist2.Add(new test1() { code = "005", name = "王五" });
    
            tlist3.Add(new test1() { code = "001", name = "张三" });
            tlist3.Add(new test1() { code = "006", name = "李四" });
            tlist3.Add(new test1() { code = "003", name = "王五" });
    
            List<test1> ttlist = tlist1.Intersect(tlist2).Intersect(tlist3).ToList();
    
        }
    }
    
    public class test1
    {
        public string code { get; set; }
        public string name { get; set; }
    }
    集合交集
  • 相关阅读:
    在 Linux 下搭建 Git 服务器***
    使用 SVN Hook 实现服务器端代码自动更新
    git服务器的建立
    Oracle 11gR2 RAC集群服务启动与关闭总结
    Cluster的日记体系
    DB time VS. DB CPU
    oracle 内存分配和调优 总结
    利用logminer恢复delete误删除操作的数据
    大话RAC介质恢复---联机日志损坏
    ORACLE联机日志文件丢失或损坏的处理方法(转)
  • 原文地址:https://www.cnblogs.com/hclyz/p/6936881.html
Copyright © 2020-2023  润新知