1、以XXX开头

2、以XXX结尾

3、模糊查询

4、求个数

5、求最大值

6、求最小值

7、求平均值

8、求和

9、升序

10、降序

11、分页

Skip()跳过多少条

Take()取多少条

12、分页组合查询

界面部分

  1. <form id="form1" runat="server">
  2. <div>
  3. 车名:<asp:TextBox ID="txt_carname" runat="server"></asp:TextBox>
  4. 油耗:<asp:DropDownList ID="dr_oil" runat="server">
  5. <asp:ListItem Text="大于" Value=">"></asp:ListItem>
  6. <asp:ListItem Text="小于" Value="<"></asp:ListItem>
  7. <asp:ListItem Text="等于" Value="="></asp:ListItem>
  8. <asp:ListItem Text="大于等于" Value=">="></asp:ListItem>
  9. <asp:ListItem Text="大于等于" Value=">="></asp:ListItem>
  10. </asp:DropDownList>
  11. <asp:TextBox ID="txt_oil" runat="server"></asp:TextBox>
  12. 价格:<asp:DropDownList ID="dr_price" runat="server">
  13. <asp:ListItem Text="全部" Value="null"></asp:ListItem>
  14. <asp:ListItem Text="小于30万" Value=""></asp:ListItem>
  15. <asp:ListItem Text="30-40万" Value=""></asp:ListItem>
  16. <asp:ListItem Text="40-50万" Value=""></asp:ListItem>
  17. <asp:ListItem Text="大于50万" Value=""></asp:ListItem>
  18.  
  19. </asp:DropDownList>
  20.  
  21. <asp:Button ID="Button1" runat="server" Text="查询" />
  22. <table style="width: 100%; background-color: navy; text-align: center">
  23. <tr style="height: 40px; color: white;">
  24. <td>id</td>
  25. <td>编号</td>
  26. <td>车名</td>
  27. <td>油耗</td>
  28. <td>马力</td>
  29. <td>价格</td>
  30. </tr>
  31. <asp:Repeater ID="Repeater1" runat="server">
  32. <ItemTemplate>
  33. <tr style="background-color: white;">
  34. <td><%#Eval("ids") %></td>
  35. <td><%#Eval("code") %></td>
  36. <td><%#Eval("name") %></td>
  37. <td><%#Eval("oil") %></td>
  38. <td><%#Eval("powers") %></td>
  39. <td><%#Eval("price") %></td>
  40. </tr>
  41. </ItemTemplate>
  42. </asp:Repeater>
  43. </table>
  44. 当前第【 <asp:Label ID="lab_nownumber" runat="server" Text=""></asp:Label> 】页,一共【 <asp:Label ID="lab_maxnumber" runat="server" Text=""></asp:Label> 】页。
  45. <asp:Button ID="btn_first" runat="server" Text="首页" /><asp:Button ID="btn_prev" runat="server" Text="上一页" /><asp:Button ID="btn_next" runat="server" Text="下一页" /><asp:Button ID="btn_last" runat="server" Text="尾页" />
  46. </div>
  47. </form>

后台代码

  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 Main : System.Web.UI.Page
  9. {
  10. int PageCount = ;
  11. protected void Page_Load(object sender, EventArgs e)
  12. {
  13. Button1.Click += Button1_Click;
  14. btn_first.Click += btn_first_Click;
  15. btn_next.Click += btn_next_Click;
  16. btn_prev.Click += btn_prev_Click;
  17. btn_last.Click += btn_last_Click;
  18. if (!IsPostBack)
  19. {
  20. using (Data0216DataClassesDataContext con = new Data0216DataClassesDataContext())
  21. {
  22. Repeater1.DataSource = Data().Skip().Take(PageCount);
  23. Repeater1.DataBind();
  24. lab_maxnumber.Text = Max().ToString();
  25. }
  26. }
  27. }
  28.  
  29. void btn_last_Click(object sender, EventArgs e)
  30. {
  31. Repeater1.DataSource = Data().Skip((Max() - ) * PageCount);
  32. Repeater1.DataBind();
  33. lab_nownumber.Text = Max().ToString();
  34. lab_maxnumber.Text = Max().ToString();
  35. }
  36.  
  37. void btn_prev_Click(object sender, EventArgs e)
  38. {
  39. int a = Convert.ToInt32(lab_nownumber.Text) - ;
  40. if (a > )
  41. {
  42. Repeater1.DataSource = Data().Skip((a - ) * PageCount).Take(PageCount);
  43. Repeater1.DataBind();
  44. lab_nownumber.Text = a.ToString();
  45. lab_maxnumber.Text = Max().ToString();
  46. }
  47. }
  48.  
  49. void btn_next_Click(object sender, EventArgs e)
  50. {
  51. int a = Convert.ToInt32(lab_nownumber.Text) + ;
  52. if (a <= Max())
  53. {
  54. Repeater1.DataSource = Data().Skip((a - ) * PageCount).Take(PageCount);
  55. Repeater1.DataBind();
  56. lab_nownumber.Text = a.ToString();
  57. lab_maxnumber.Text = Max().ToString();
  58. }
  59. }
  60.  
  61. void btn_first_Click(object sender, EventArgs e)
  62. {
  63. Repeater1.DataSource = Data().Skip().Take(PageCount);
  64. Repeater1.DataBind();
  65. lab_nownumber.Text = "";
  66. lab_maxnumber.Text = Max().ToString();
  67. }
  68.  
  69. void Button1_Click(object sender, EventArgs e)
  70. {
  71. Repeater1.DataSource = Data().Skip().Take(PageCount);
  72. Repeater1.DataBind();
  73. lab_nownumber.Text = "";
  74. lab_maxnumber.Text = Max().ToString();
  75. }
  76.  
  77. public List<car> Data()
  78. {
  79.  
  80. using (Data0216DataClassesDataContext con = new Data0216DataClassesDataContext())
  81. {
  82. List<car> clist = con.car.ToList();
  83.  
  84. if (txt_carname.Text.Trim().Length > )
  85. {
  86. clist = clist.Where(r => r.name.Contains(txt_carname.Text.Trim())).ToList();
  87. }
  88.  
  89. if (txt_oil.Text.Trim().Length > )
  90. {
  91. if (dr_oil.SelectedValue == ">")
  92. clist = clist.Where(r => r.oil > Convert.ToDecimal(txt_oil.Text)).ToList();
  93. if (dr_oil.SelectedValue == "<")
  94. clist = clist.Where(r => r.oil < Convert.ToDecimal(txt_oil.Text)).ToList();
  95. if (dr_oil.SelectedValue == ">=")
  96. clist = clist.Where(r => r.oil >= Convert.ToDecimal(txt_oil.Text)).ToList();
  97. if (dr_oil.SelectedValue == "<=")
  98. clist = clist.Where(r => r.oil <= Convert.ToDecimal(txt_oil.Text)).ToList();
  99. if (dr_oil.SelectedValue == "=")
  100. clist = clist.Where(r => r.oil == Convert.ToDecimal(txt_oil.Text)).ToList();
  101. }
  102.  
  103. if (dr_price.SelectedValue != "null")
  104. {
  105. if (dr_price.SelectedValue == "")
  106. clist = clist.Where(r => r.price < ).ToList();
  107. if (dr_price.SelectedValue == "")
  108. clist = clist.Where(r => r.price >= && r.price < ).ToList();
  109. if (dr_price.SelectedValue == "")
  110. clist = clist.Where(r => r.price >= && r.price < ).ToList();
  111. if (dr_price.SelectedValue == "")
  112. clist = clist.Where(r => r.price >= ).ToList();
  113. }
  114. return clist;
  115. }
  116. }
  117. public int Max()
  118. {
  119. return Convert.ToInt32(Math.Ceiling(Convert.ToDecimal(Data().Count) / PageCount));
  120. }
  121. }

【2017-06-02】Linq高级查询,实现分页组合查询。的更多相关文章

  1. Linq组合查询与分页组合查询结合

    1.组合查询 <div>姓名:<asp:TextBox ID="T1" runat="server"></asp:TextBox& ...

  2. ASP.NETMVC4 分页组合查询解决方法

    本人新手刚在webform转到mvc   像linq  ef啥的,都是不会的不行不行的,不会就问群友,找资料 今天本屌遇到了一个分页组合查询的问题,解决了2个小时,把代码共享给大家 话不多话,直接上代 ...

  3. webform:分页组合查询

    一个简单的分页组合查询页面 /// <summary> /// 查询方法 /// </summary> /// <param name="tsql"& ...

  4. Webform(Linq高级查、分页、组合查询)

    一.linq高级查 1.模糊查(包含) 1 public List<User> Select(string name) 2 { 3 return con.User.Where(r => ...

  5. linq分页组合查询

    一.linq高级查 1.模糊查(字符串包含) 1 public List<User> Select(string name) 2 { 3 return con.User.Where(r = ...

  6. Webform--LinQ 分页组合查询

    一.linq高级查 1.模糊查(字符串包含) public List<User> Select(string name) { return con.User.Where(r => r ...

  7. ASP.NET 分页+组合查询 练习

    分页和组合查询都是通过拼接SQL语句到数据库查询进行实现 到汽车表(car)中查询 ,汽车表选取了“编号 code”,“车名 name”,“日期 time”,“油耗 oil ”,“马力 powers” ...

  8. 分页查询和分页缓存查询,List<Map<String, Object>>遍历和Map遍历

    分页查询 String sql = "返回所有符合条件记录的待分页SQL语句"; int start = (page - 1) * limit + 1; int end = pag ...

  9. 013.子查询和分页子查询(sql实例)

    --1 子查询 如果子查询和表连接都实现的时候,推荐用表连接实现( 一般:能用表连接实现的就用表连接,有些情况用表连接不能 或者不易实现的再选择子查询) 系统:缓存,执行计划技术手段 --1 wher ...

随机推荐

  1. Spring Boot设置定时任务

    在 http://start.spring.io/ 中新建一个Group为com.zifeiy,Artifact为task的工程. 然后在TaskApplication中添加注释:@EnableSch ...

  2. leetcode 区间合并

    个区间若能合并,则第一个区间的右端点一定不小于第二个区间的左端点.所以先把区间集合按照左端点从小到大进行排序,接着从第一个区间开始遍历,对每个区间执行如下操作: 1.首先保存该区间的左端点start和 ...

  3. 实例节点的NTP服务器地址配置正确,而且能够ping通, 但是在chronyc sources指令中显示NTP服务器状态为“?”

    问题:如果实例节点的NTP服务器地址配置正确,而且能够ping通,   但是在chronyc sources指令中显示NTP服务器状态为“?”, 该如何检查并操作. 1)在chrony配置文件中,检查 ...

  4. 自学电脑游戏第三天(Swing组件)

    Swing组件 1.按钮(Jbutton) 示例:选择用户所喜欢的城市. import java.awt.*; import java.awt.event.*; import javax.swing. ...

  5. Flutter、Weex、RN,Native对比

  6. kafka2.10集群搭建(一)

    一.kafka集群搭建 1.上传解压 2.配置文件的配置 1.修改 server.properties文件 broker.id=11 #192.168.199.11 #21 一般使用ip后三位 lis ...

  7. oracle 创建新用户,授权dba

    1.用有dba权限的用户登录:sys用户 2.创建一个新用户:create user abc identified by 123456; 3.授予DBA权限: grant connect,resour ...

  8. 【AtCoder】ARC069

    ARC069 C - Scc Puzzle --不说了 #include <bits/stdc++.h> #define fi first #define se second #defin ...

  9. javaweb关于用户是否登录全局判断,没有登录跳转到登录界面

    有这样一个需求,用户密码登录网站,在session中保留了用户的信息,但是用户很长时间没有再操作该界面,用户的session则被浏览器清除,而一些业务逻辑则是需要用到用户的信息,那么用户再执行操作后, ...

  10. (八)动态 sql

    目录 什么是动态 sql sql 片段 foreach 标签 什么是动态 sql 我们之前在映射文件中,配置 sql 的时候,其实都是静态的 : <!--复杂查询--> <selec ...