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. ...
随机推荐
- 二叉树翻转 · binary tree flipping
[抄题]: 给定一个二叉树,其中所有右节点要么是具有兄弟节点的叶节点(有一个共享相同父节点的左节点)或空白,将其倒置并将其转换为树,其中原来的右节点变为左叶子节点.返回新的根节点. 您在真实的面试中是 ...
- ubuntu 基础环境
一.序言 这里记录了安装ubuntu 系统,以及里面常用的东西,jdk,idea,maven,svn,git 等等工具的安装,因为这些动作不是经常操作的,因此这里做一个记录,方便新手或者忘记的时候看看 ...
- 对于一个web工程,如果我们复制一个已有的工程粘贴到同一个workspace下,我们除了需要更改工程的名字还需要更改这个新工程的content root,否则会报错。
对于一个web工程,如果我们复制一个已有的工程粘贴到同一个workspace下,我们除了需要更改工程的名字还需要更改这个新工程的content root,否则会报错.步骤如下: 右键新的工程---&g ...
- C语言中的undefined behavior
参考: http://www.cnblogs.com/aoaoblogs/archive/2010/08/31/1813982.html
- C++中const在函数中的用法
1.const放在函数前面 如果我们的函数的返回值是以 指针形式 返回的,如果在函数前面加上const修饰,则表示指针指向的内容是不能被改变的,并且接收返回值的 指针变量必须是const修饰的,例如: ...
- C++ 的Tool工具收集
C++ 的Tool工具收集 1. muparser - Fast Math Parser Library 数学公式解析函数,开源工具库 网址: http://muparser.beltoforion. ...
- task4: 结对编程-词频统计[修改版]
问题描述: 读取一个文件,统计其中单词出现次数,并按从高到低的顺序显示,相同顺序的字典序排列. 思路: 基于上次的程序用正则提取出文本里的单词,然后利用字典计数(先get,为null则置1,不为nul ...
- 【转】不用软件,解压Win8/Win8.1的install.wim文件
今天用好压解压Windows 8.1的install.wim文件,居然提示文件损坏,换了7Z仍然如此:其实文件是好的.只不过这些软件暂时不支持罢了,还好可以用dism命令来手动完成. 一.检查镜像版本 ...
- ANE-调用原生地图注意点
打包的bat bin/adt -package -target ane test.ane extension.xml -swc AneTest.swc -platform iPhone-ARM -C ...
- django系列6--Ajax01 特点, 基本格式, 向前端发送数据
一.Ajax了解 AJAX(Asynchronous Javascript And XML)优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容 优点: 1.ajax使用Java ...