Webform中linq to sql多条件查询(小练习)

多条件查询:逐条判断,从第一个条件开始判断,如果满足,取出放入集合,再从集合中查询第二个条件。。。

aspx代码

 1 <body>
 2     <form id="form1" runat="server">
 3
 4         <br />
 5         <asp:Label ID="Label1" runat="server" Text="关键字:"></asp:Label>
 6         <asp:TextBox ID="Gjz" runat="server" Font-Size="12px"></asp:TextBox>
 7 &nbsp;
 8         <asp:Label ID="Label2" runat="server" Text="价格:"></asp:Label>
 9 &nbsp;<asp:TextBox ID="price1" runat="server" Font-Size="12px" Width="52px"></asp:TextBox>
10 &nbsp;
11         <asp:Label ID="Label3" runat="server" Text="到"></asp:Label>
12 &nbsp;
13         <asp:TextBox ID="price2" runat="server" Font-Size="12px" Width="52px"></asp:TextBox>
14 &nbsp;
15         <asp:Button ID="select" runat="server" Text="查询" OnClick="select_Click" />
16         <br />
17         <br />
18         <asp:Repeater ID="Repeater1" runat="server">
19             <HeaderTemplate>
20                 <table width="903" border="0" cellspacing="1" cellpadding="0" bgcolor="#6600FF">
21                   <tr style="height:25px;">
22                     <td width="260" bgcolor="#FFFFFF">名称</td>
23                     <td width="160" bgcolor="#FFFFFF">上市时间</td>
24                     <td width="160" bgcolor="#FFFFFF">油耗</td>
25                     <td width="160" bgcolor="#FFFFFF">功率</td>
26                     <td width="163" bgcolor="#FFFFFF">价格</td>
27                   </tr>
28             </HeaderTemplate>
29
30             <ItemTemplate>
31                  <tr style="height:25px;">
32                     <td bgcolor="#FFFFFF"><%#Eval("Name") %></td>
33                     <td bgcolor="#FFFFFF"><%#Eval("Time","{0:yyyy年MM月dd日}") %></td>
34                     <td bgcolor="#FFFFFF"><%#Eval("Oil") %></td>
35                     <td bgcolor="#FFFFFF"><%#Eval("Powers") %></td>
36                     <td bgcolor="#FFFFFF"><%#Eval("Price") %></td>
37                   </tr>
38
39             </ItemTemplate>
40
41             <FooterTemplate>
42
43                  </table>
44
45             </FooterTemplate>
46
47
48         </asp:Repeater>
49     </form>
50 </body>

 aspx.cs代码:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.UI;
 6 using System.Web.UI.WebControls;
 7
 8 public partial class test : System.Web.UI.Page
 9 {
10     protected void Page_Load(object sender, EventArgs e)
11     {
12         if(!IsPostBack)
13         {
14          coenctDataContext _conext = new coenctDataContext();
15            Repeater1.DataSource=  _conext.Car;
16            Repeater1.DataBind();
17         }
18     }
19
20
21     protected void select_Click(object sender, EventArgs e)
22     {
23         coenctDataContext _contest = new coenctDataContext();
24
25         List<Car> list =  _contest.Car.ToList();
26         string key =Gjz.Text.ToString();
27
28         //判断第一个条件是否为空,如果为空不操作,去判断第二个条件看是否满足;不为空,继续 继续查询
29         if (key != "")
30         {
31             list = list.Where(p => p.Name.Contains(key)).ToList();
32             //关键字变原色,用foreach去查看集合中满足条件的字
33             foreach(Car data in list )
34             {
35                 string s = data.Name.Replace(key, "<span style =‘color:red;‘>" + key + "</span>");
36                 data.Name = s;
37             }
38         }
39
40         //判断第二个条件
41         string mi = price1.Text;//取text判断是否为空
42         string ma = price2.Text;//取text判断是否为空
43
44         //先判断第二个条件中,文本框中是否为空
45         if(mi !="" && ma != "")
46         {
47             decimal min = Convert.ToDecimal(price1.Text);
48             decimal max = Convert.ToDecimal(price2.Text);
49
50            list=    list.Where(p=>p.Price.Value>=min && p.Price<=max).ToList();
51
52         }
53
54         //指定数据源显示出来
55         Repeater1.DataSource = list;
56         Repeater1.DataBind();
57
58     }
59 }
时间: 2024-10-11 00:55:11

Webform中linq to sql多条件查询(小练习)的相关文章

Linq to Sql 多条件查询

Linq To Sql 多条件查询 string proName = this.txtName.Text.Trim();string lowPrice = this.txtLowPrice.Text.Trim();string highPrice = this.txtHighPrice.Text.Trim(); decimal? lowPrice1 = null, highPrice1 = null;if (!string.IsNullOrEmpty(lowPrice)){        low

C# SQL多条件查询拼接技巧

本文转载:http://blog.csdn.net/limlimlim/article/details/8638080 #region 多条件搜索时,使用List集合来拼接条件(拼接Sql) StringBuilder sql = new StringBuilder("select * from PhoneNum"); List<string> wheres = new List<string>(); if (cboGroup.SelectedIndex !=

sql添加、查询小错误

1.java持久层使用mybatis,sql报错:org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderException: Improper inline parameter map format.  Should be: #{propName,attr1=val1,attr2=val2} 因为mybatis中的参数有#{name,jdbcType = VA

qt sql多重条件查询简便方法

转载请注明出处:http://www.cnblogs.com/dachen408/p/7457312.html 程序设计过程中,经常要涉及到查询,并且有很多条件,且条件可为空,如果逐个判断,会有很多情况,解决方案: QSqlQuery query(m_db); QString province = QString::fromLocal8Bit("广东"); QString city = ""; QString null = ""; QString

LINQ系列:LINQ to SQL Where条件

1. 单一条件查询 var expr = context.Products .Where(p => p.ProductName == "LINQ to SQL"); SELECT [Extent1].[ProductID] AS [ProductID], [Extent1].[CategoryID] AS [CategoryID], [Extent1].[ProductName] AS [ProductName], [Extent1].[UnitPrice] AS [UnitPr

SQL 多条件查询

网上有不少人提出过类似的问题:“看到有人写了WHERE 1=1这样的SQL,到底是什么意思?”.其实使用这种用法的开发人员一般都是在使用动态组装的SQL.让我们想像如下的场景:用户要求提供一个灵活的查询界面来根据各种复杂的条件来查询员工信息,界面如下图: 界面中列出了四个查询条件,包括按工号查询.按姓名查询.按年龄查询以及按工资查询,每个查询条件前都有一个复选框,如果复选框被选中,则表示将其做为一个过滤条件.比如上图就表示“检索工号介于DEV001和DEV008之间.姓名中含有J并且工资介于30

SQL多条件查询安全高效比较

ALTER PROCEDURE _tmp @ID VARCHAR(50), @PN VARCHAR(50), @Type INT AS BEGIN /********************************** -- 功能:多条件查询性能 _tmp 'K3G8KG6NN94SBBS0','K7F7FF',0 **********************************/ PRINT '测试数据条数500W' set nocount ON DECLARE @time DATETIM

SQL 时间条件查询

to_date()使用 select * from table t where t.time >= to_date(aaaa,'yyyy-mm-dd hh24:mm:ss') and t.time<to_date(bbbb,'yyyy-mm-dd hh24:mm:ss') aaaa,bbbb是字符串类型 比如:aaaa = '2018-04-19 00:00:00' bbbb = '2018-04-20 00:00:00' to_date()中yyyy-mm-dd hh24:mm:ss 意思把

mongo java中and、or多条件查询

//and.or多条件联合查询 //age条件(and条件) BasicDBList condList = new BasicDBList(); BasicDBObject cond = new BasicDBObject(); cond.put("$gt",0); cond.put("$lte",40); BasicDBObject composeCod = new BasicDBObject(); composeCod.put("age",