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="width: 100%; text-align: center;" border="" cellpadding="" cellspacing="">
<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 > )
{
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 > )
{
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);
C#-WebForm-LinQ-条件精确查询、高级查询的更多相关文章
- ABP开发框架前后端开发系列---(13)高级查询功能及界面的处理
在一般的检索界面中,基于界面易用和美观方便的考虑,我们往往只提供一些常用的条件查询进行列表数据的查询,但是有时候一些业务表字段很多,一些不常见的条件可能在某些场景下也需要用到.因此我们在通用的查询条件 ...
- 【转】SQL Server T-SQL高级查询
SQL Server T-SQL高级查询 高级查询在数据库中用得是最频繁的,也是应用最广泛的. Ø 基本常用查询 --select select * from student; //查询student ...
- SQL数据库— <3>高级查询、常用函数 --摘录网络
SQL Server T-SQL高级查询 高级查询在数据库中用得是最频繁的,也是应用最广泛的. Ø 基本常用查询 --select select * from student; --all 查询所有 ...
- Winform开发框架之通用高级查询模块
最近一直忙于公司的事情,虽然一直在做一些相关的技术研究,但是很久没能静下心来好好写写博客文章了,想想也有半个月之多了,这半个月来,也一直致力于改善我的WInform开发框架,使得自己及客户使用起来更加 ...
- 高级查询语句____ Mysql
MySQL高级查询 高级查询 关键字书写顺序 关键字执行顺序select:投影结果 1 5 from:定位到表 2 1 where:分组前第一道过滤 ...
- Linq(高级查询)
一.条件查 public List<Users> ss(string ids) { List<Users> ulist=new List<Users>(); 声明使 ...
- Hibernate高级查询QBC条件设置——Restrictions用法 引自:http://www.cnblogs.com/evon168/archive/2010/10/29/1863059.html
方法说明 方法 说明 Restrictions.eq = Restrictions.allEq 利用Map来进行多个等于的限制 Restrictions.gt > Restrictions.ge ...
- 【2017-03-10】Tsql语句基础、条件,高级查询
一.语句基础 1.创建数据库:create database 数据库名(不能汉字,不能数字.符号开头) 2.删除数据库:drop database 数据库名 3.选用数据库:use 数据库名 4.创建 ...
- 数据库中的T-sql语句 条件修改 高级查询
1.创建数据库:create database --数据库名,不能中文,不能数字开头,不能符号开头 2.删除数据库:drop database-- 数据库名 use student--使用数据库 3. ...
随机推荐
- golang之map数据类型
先上代码…… package main import "fmt" func testMap() { //两种声明map方式,切记,必须初始化才能用,否则panic //var a ...
- SLAM拾萃(2):doxygen
今天给大家介绍一下doxygen.这个工具由来已久了,至少08年左右就已经在用了,但是目前还没见到好的介绍.我个人觉得这是个很简单易用的工具,但是为什么看了别人介绍反而觉得复杂了……所以趁着今天比较闲 ...
- 06 Python字符编码与文件处理
python垃圾回收机制: python中的垃圾回收机制是以引用计数为主,分代收集为辅,引用计数的缺陷是循环引用的问题,一个对象的引用数为0 ,那么这个对象就会被python虚拟机回收内存 字符编码 ...
- Tomcat的windows10集群搭建(一台电脑同时运行多个tomcat配置方法)
配置方法(好久不配置了,忘记了,今天还是总结下吧): 1.官网下载tomcat ,我下载了tomcat6.0和tomcat7.0(以便区分) 官网地址:http://tomcat.apache.org ...
- WPF 绑定备忘单
Part I – Common Examples Basic Binding {Binding} Bind to current DataContext. {Binding Name} Bi ...
- Swift使用CoreLocation,你必须要看这一篇
CoreLocation,在我们这里讨论的是一个最常用的东西,就是用Location Manger获取用户当前的位置. 整个的来说非常简单.只要这样: import CoreLocation 需要使用 ...
- [label][git-commands] Several Git Commands
The process of Git commands Operation 1. git commit -m 'fist post' Windows PowerShellCopyright (C) 2 ...
- 使用Student T'test方法做性能测试
性能测试 日常工作中对比函数间的快慢时,最直接的方法就是根据timer:tc/1结果的时间来衡量,比如想知道lists:reverse/1与直接使用自己写的尾递归函数谁更快?最直接的方法就是 -mod ...
- Docker 入门笔记
Docker 可以理解为一个轻量化的虚拟机, 启动速度快,本身占的资源小 [重要], 容器里是不能保存数据的,容器只要一停止, 所有的数据都会丢失,所以如果重要的数据, 都需要通过配制,把数据保存在 ...
- C# 转换为int类型时原本的正数变为负数
转载http://bkcoding.cn/post_1215.html 平时定义变量用的int( int32 ),其取值范围为-2,147,483,648~2,147,483,647 当需要转换为in ...