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;
}
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 = ;
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[].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 = "";
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 == "")
{
return;
}
using (StudentDataContext con = new StudentDataContext())
{
int a = Convert.ToInt32(Label2.Text) - ;
Repeater1.DataSource = Data(con).Skip((a - ) * 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) + ;
Repeater1.DataSource = Data(con).Skip((a - ) * 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) - ) * 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 = "";
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 = "";
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="width: 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 = "", name = "张三" });
tlist1.Add(new test1() { code = "", name = "李四" });
tlist1.Add(new test1() { code = "", name = "王五" }); tlist2.Add(new test1() { code = "", name = "张三" });
tlist2.Add(new test1() { code = "", name = "李四" });
tlist2.Add(new test1() { code = "", name = "王五" }); tlist3.Add(new test1() { code = "", name = "张三" });
tlist3.Add(new test1() { code = "", name = "李四" });
tlist3.Add(new test1() { code = "", name = "王五" }); List<test1> ttlist = tlist1.Intersect(tlist2).Intersect(tlist3).ToList(); }
} public class test1
{
public string code { get; set; }
public string name { get; set; }
}
集合交集
Linq(高级查询)的更多相关文章
- LinQ高级查询、组合查询、IQueryable集合类型
LinQ高级查询: 1.模糊查询(包含) Repeater1.DataSource = con.car.Where(r =>r.name.Contains(s)).ToList(); 2.开头 ...
- Linq高级查询,分页查询及查询分页结合
一.高级查询与分页查询 1.以...开头 StartsWith Repeater1.DataSource=con.Users.Where(r=>r.Nickname.StartsWith( ...
- LinQ 高级查询
高级查询 模糊查(包含):.Contains(name) 开头:.StartsWith(name) 结尾:.EndsWith(name) 个数:.Count() 最大值:Max(r => r.p ...
- 【2017-06-02】Linq高级查询,实现分页组合查询。
1.以XXX开头 2.以XXX结尾 3.模糊查询 4.求个数 5.求最大值 6.求最小值 7.求平均值 8.求和 9.升序 10.降序 11.分页 Skip()跳过多少条 Take()取多少条 12. ...
- LinQ高级查询
1.模糊查询 con.Users.Where(a =>a.UserName.Contains(name)).ToList(); //包含name con.Users.Where(a =>a ...
- Webform(Linq高级查、分页、组合查询)
一.linq高级查 1.模糊查(包含) 1 public List<User> Select(string name) 2 { 3 return con.User.Where(r => ...
- LinQ的查询操作
LinQ的高级查询:-------------------在car表格进行练习操作: 一.模糊查询:1.在后台代码:(Contains)List<car>list=con.car.wher ...
- 2017年12月14日 LinQ高级查&&Asp.net WebForm Asp.net MVC
LinQ的高级查询用法 开头:StartsWith()结尾:EndsWith()模糊:Contains() 个数:Count最大值:Max(r => r.price)最小值:Min(r => ...
- 动态创建Lambda表达式实现高级查询
需求简介 最近这几天做的东西总算是回归咱的老本行了,给投资管理项目做一个台账的东西,就是类似我们的报表.其 中有一个功能是一个高级查询的需求,在查询条件方面大概有7.8个查询条件.需求就是如果一个条件 ...
- ABP开发框架前后端开发系列---(13)高级查询功能及界面的处理
在一般的检索界面中,基于界面易用和美观方便的考虑,我们往往只提供一些常用的条件查询进行列表数据的查询,但是有时候一些业务表字段很多,一些不常见的条件可能在某些场景下也需要用到.因此我们在通用的查询条件 ...
随机推荐
- 3 第一个Django应用 第2部分(管理站点)
Django会根据你写的模型文件完全自动地生成管理界面. 管理界面不是让访问网站的人使用的,它服务于网站管理者. 它用于网站的管理员. 3.1创建一个管理员用户 3.2进入管理站点 3.3管理站点的功 ...
- 浏览器输入URL按回车后都经历了什么?
在浏览器上输入一个URL,按回车后,这个过程发生了什么? 1.首先,浏览器地址栏输入了URL,先解析URL,检测URL地址是否合法 2.浏览器先查看浏览器缓存-系统缓存-路由器缓存,如果缓存中有,会直 ...
- linux 服务发布脚本升级,远程发布,指定拉取远程dev,test等分支代码
1.本地发布脚本 publish.sh #!/bin/sh currentDay=`date +%Y%m%d` currentTime=`date +%Y%m%d%H%M%S` tomcat1=/da ...
- Alpha 冲刺11——总结
拖鞋旅游队团队事后诸葛亮会议 前言 队名:拖鞋旅游队 组长博客:https://www.cnblogs.com/Sulumer/p/10054510.html 时间:2018-12-1 20:00 地 ...
- Python基础04_str_方法
所有的练习都是用的python3 ,还没试过python2 ############## 必须要会的7个基本方法 ############## join split find strip upper ...
- 基于Verilog的带FIFO写入缓冲的串口发送接口封装
一.模块框图及基本思路 tx_module:串口发送的核心模块,详细介绍请参照前面的“基于Verilog的串口发送实验” fifo2tx_module:当fifo不为空时,读取fifo中的数据并使能发 ...
- html 刷新重载方法汇总
一.javascript页面刷新重载的方法: <a href="javascript:location.reload();">点击重新载入页面</a> &l ...
- Spring3(一) 控制反转(IoC)和依赖注入(DI)
几个常用框架之间的关系 1 spring框架概述 1.1 什么是spring Spring是一个开源.轻量级的Java 开发框架.框架的主要优势之一就是其分层架构,分层架构允许使用者选 ...
- xgboost中XGBClassifier()参数详解
http://www.cnblogs.com/wanglei5205/p/8579244.html 常规参数 booster gbtree 树模型做为基分类器(默认) gbliner 线性模型做为基分 ...
- centos7 ssh连接慢
指的是连接到centos7,输入密码后要等很久才会返回.之前很多人遇到的问题都是由于/etc/ssh/sshd_config的UseDNS配置项和GSSAPIAuthentication配置项引起的, ...