一、分页

1.写查询方法:

public List<Student> Select(int PageCount, int PageNumber){//PageCount为每页显示条数,PageNumber为当前第几页List<Student> list = new List<Student>();cmd.CommandText = "select top " + PageCount + "  *from Student where Code not in (select top "+(PageCount * (PageNumber - 1))+" Code from Student)";conn.Open();SqlDataReader dr = cmd.ExecuteReader();if (dr.HasRows){while (dr.Read()){Student s = new Student();s.Code = dr[0].ToString();s.Name = dr[1].ToString();s.Sex = Convert.ToBoolean(dr[2]);s.Birthday = Convert.ToDateTime(dr[3]);s.SubjectCode = dr[4].ToString();s.Nation = dr[5].ToString();list.Add(s);}}conn.Close();return list;}

查询方法

2.C#代码

int PageCount = 5; //每页显示条数protected void Page_Load(object sender, EventArgs e){if(!IsPostBack){List<Student> list = new StudentData().Select(PageCount,1);Repeater1.DataSource = list;Repeater1.DataBind();Label2.Text = "1";//第一页Label3.Text = MaxPageNumber().ToString();//总页数
}for (int i = 1; i <= MaxPageNumber(); i++){DropDownList2.Items.Add(new ListItem(i.ToString(), i.ToString()));}
}

Page_Load

public int MaxPageNumber(){List<Student> list = new StudentData().select();double de = list.Count / (PageCount * 1.0);int aa = Convert.ToInt32(Math.Ceiling(de));//取上限return aa;}

计算总页数

void DropDownList2_SelectedIndexChanged(object sender, EventArgs e){Repeater1.DataSource = new StudentData().Select(PageCount, Convert.ToInt32(DropDownList2.SelectedValue));Repeater1.DataBind();Label2.Text = DropDownList2.SelectedValue;}

快速跳转

void btn_end_Click(object sender, EventArgs e){List<Student> list = new StudentData().Select(PageCount, MaxPageNumber());Repeater1.DataSource = list;Repeater1.DataBind();Label2.Text = MaxPageNumber().ToString();}

跳转到最后一页

void btn_first_Click(object sender, EventArgs e){List<Student> list = new StudentData().Select(PageCount, 1);Repeater1.DataSource = list;Repeater1.DataBind();Label2.Text ="1";}

跳转到第一页

void btn_prev_Click(object sender, EventArgs e){int pagec = Convert.ToInt32(Label2.Text) - 1;if (pagec <=0)//判断是不是第一页,是的话什么也不干
        {return;}List<Student> list = new StudentData().Select(PageCount, pagec);Repeater1.DataSource = list;Repeater1.DataBind();Label2.Text = pagec.ToString();}

跳转到上一页

void btn_next_Click(object sender, EventArgs e){int pagec = Convert.ToInt32(Label2.Text) + 1;if (pagec > MaxPageNumber())// 判断是不是最后一页,是的话什么也不干
         {return;}Repeater1.DataSource = new StudentData().Select(PageCount,pagec);Repeater1.DataBind();Label2.Text = pagec.ToString();}

跳转到下一页

二、组合查询

1.查询方法

 1 public List<Student> Select(string tsql,Hashtable hh)
 2     {
 3         List<Student> list = new List<Student>();
 4         cmd.CommandText = tsql;
 5         cmd.Parameters.Clear();
 6         foreach( string s in hh.Keys)
 7         {
 8         cmd.Parameters.Add(s,hh[s]);
 9         }
10         conn.Open();
11         SqlDataReader dr = cmd.ExecuteReader();
12         if (dr.HasRows)
13         {
14             while (dr.Read())
15             {
16                 Student s = new Student();
17                 s.Code = dr[0].ToString();
18                 s.Name = dr[1].ToString();
19                 s.Sex = Convert.ToBoolean(dr[2]);
20                 s.Birthday = Convert.ToDateTime(dr[3]);
21                 s.SubjectCode = dr[4].ToString();
22                 s.Nation = dr[5].ToString();
23                 list.Add(s);
24             }
25         }
26         conn.Close();
27         return list;
28     }

查询方法

public List<Subject> Select(string name){List<Subject> list = new List<Subject>();cmd.CommandText = "select *from Subject where SubjectName like @a ";cmd.Parameters.Clear();cmd.Parameters.Add("@a","%"+name+"%");conn.Open();SqlDataReader dr = cmd.ExecuteReader();if (dr.HasRows){while (dr.Read()){Subject s = new Subject();s.SubjectCode = dr[0].ToString();s.SubjectName = dr[1].ToString();list.Add(s);}}conn.Close();return list;}

View Code

2.c#代码

 1 void Button2_Click(object sender, EventArgs e)
 2     {
 3         int count = 0;//判断tsql是否含有where
 4         Hashtable hs = new Hashtable();//哈希表
 5         string tsql = "select * from Student";
 6         //性别
 7         if(!string.IsNullOrEmpty(tb_sex.Text.Trim()))//输入的性别非空
 8         {
 9             if (tb_sex.Text.Trim() == "男")
10             {
11                 tsql += " where Sex = @a";
12                 hs.Add("@a", "true");
13                 count++;
14             }
15             else if (tb_sex.Text.Trim() == "女")
16             {
17                 tsql += " where Sex = @a";
18                 hs.Add("@a", "false");
19                 count++;
20             }
21         }
22         //年龄
23         if (!string.IsNullOrEmpty(tb_age.Text.Trim()))//判断年龄输入框是否为空
24         {
25             int a = DateTime.Now.Year;
26             try {//异常保护,输入框只能是数字
27              int ag=  Convert.ToInt32(tb_age.Text.Trim());
28              int g = a - ag;
29              DateTime d = Convert.ToDateTime(g.ToString()+"-1-1");
30              if (DropDownList3.SelectedValue == ">=")//列表框显示值为<=,小于某个年龄
31              {
32                  if (count == 0)
33                  {
34                      tsql += " where Birthday " + DropDownList3.SelectedValue + "@b";
35                  }
36                  else
37                  {
38                      tsql += " and Birthday " + DropDownList3.SelectedValue + "@b";
39                  }
40                  hs.Add("@b", d);
41              }
42              else//大于某个年龄
43              {
44                  DateTime dd = Convert.ToDateTime(g.ToString() + "-12-31");
45                  if (count == 0)
46                  {
47                      tsql += " where Birthday " + DropDownList3.SelectedValue + "@b";
48                  }
49                  else
50                  {
51                      tsql += " and Birthday " + DropDownList3.SelectedValue + "@b";
52                  }
53                  hs.Add("@b", dd);
54              }
55              count++;
56             }
57             catch {
58             }
59         }
60         if (!string.IsNullOrEmpty(tb_s.Text.Trim()))//专业非空
61         {
62             List<Subject> li = new SubjectData().Select(tb_s.Text.Trim());
63             if (li.Count <= 0)
64             {
65             }
66             else
67             { string u ="";
68             int cou = 0;
69                 foreach(Subject ub in li)
70                 {
71                     u = ub.SubjectCode;
72                     if (cou == 0)//第一条数据
73                     {
74                         if (count == 0)
75                         {
76                             tsql += " where SubjectCode =@c";
77                         }
78                         else
79                         {
80                             tsql += " and SubjectCode =@c";
81                         }
82                         hs.Add("@c", u);
83                         cou++;
84                     }
85                     else
86                     {
87                         tsql += " or SubjectCode =@d";
88                         hs.Add("@d", u);
89                     }
90                 }
91             }
92         }
93         Repeater1.DataSource = new StudentData().Select(tsql, hs);
94         Repeater1.DataBind();
95     }

查询按钮赋功能

转载于:https://www.cnblogs.com/1711643472qq/p/6179319.html

Webform(分页、组合查询)相关推荐

  1. dataTables分页组合查询 springMVC Hibernate

    组合查询的字段:昵称,性别,年龄,和类型.dataTable列显示字段:编号,名称,性别,年龄,类型. 1 <body> 2 <form> 3 <span>昵称:& ...

  2. webform 分页、组合查询综合使用

    界面: 1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.as ...

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

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

  4. WebForm 分页与组合查询

    1.封装实体类 2.写查询方法 //SubjectData类 public List<Subject> Select(string name){List<Subject> li ...

  5. 多条件组合查询+分页

    比较麻烦,把他记录下来. 前台UI: 实现的类代码: 程序代码 /// <summary>         /// 多条件组合查询         /// </summary> ...

  6. java easyui条件组合查询_EasyUi+Spring Data 实现按条件分页查询

    Spring data 介绍 Spring data 出现目的 为了简化.统一 持久层 各种实现技术 API ,所以 spring data 提供一套标准 API 和 不同持久层整合技术实现 . 自己 ...

  7. java mvc 分页查询条件_java分页条件查询-GridManager.js表格插件+Pageable分页对象+mybatis pagehelper分页插件...

    总览: 一. GridManager.js表格插件 直接上插件API:链接地址 感觉该插件简单好用,插件作者也是有问必答,nice 二. 添加依赖 后端: pom文件添加: 1.7.0.RELEASE ...

  8. 页面多条件组合查询功能 代码 如何写效率高_Jeecg Boot 2.2 首个里程碑版本发布,低代码平台

    项目介绍 JeecgBoot是一款基于代码生成器的低代码开发平台,开源界"小普元"超越传统商业企业开发平台!采用前后端分离架构:SpringBoot 2.x,Ant Design& ...

  9. LinQ高级查询、组合查询

    LinQ高级查询.组合查询 LinQ高级查询: 1.模糊查询(包含) Repeater1.DataSource = con.car.Where(r =>r.name.Contains(s)).T ...

  10. 条件查询_多条件组合查询---测试用例设计

    一.假设查询因子:A,B,C,D,E(下拉框+复选框) 1.单独查询:A:B:C:D:E - 确保单独查询的正确性,这也是最基本的. 2.两个组合查询:AB:AC:AD:AE:BC:BD:BE:CD: ...

最新文章

  1. [转]详细的mysql时间和日期函数
  2. ssl单向tomcat配置webservice访问方法
  3. DataTransmission:免费薅羊毛,Are you kidding me? 镭速传输 “百日计划”提前大曝光!Raysync传输协议要开放?
  4. 将gitLab 上的dev分支拉取到本地
  5. 神州云科DCN存储管理IP_干货!DCN校园网大二层解决方案详解
  6. java ui自动化测试脚本,如何用Airtest编写UI自动化脚本(示例代码)
  7. python中gmtime的hour错误_python中gmtime的hour错误_在Python中操作日期和时间之gmtime()方法的使用...
  8. Smart Slider 3 Pro高级轮播插件绿色版 附200多模版[更新至v3.5.0.5]
  9. Ubuntu系统---WeChat安装
  10. DB2数据库迁移,数据库导入导出
  11. js获取当前页面的url
  12. Unity Demo ——3D时钟
  13. iPhone 12 Pro测量人的身高竟然如此简单
  14. Linux下修复U盘坏块,快速修复U盘坏块
  15. 【深度学习】BatchSize设置
  16. 局域网服务器共享文件夹设置,局域网共享设置如何操作?怎么实现局域网文件夹共享?...
  17. 思考一道题:非相邻数最大和
  18. 基于微信小程序的高校图书共享平台
  19. 如何利用python产生随机数(randrange函数和random函数)
  20. 副业不知道做什么?来做知识付费网课商城项目,轻松赚钱

热门文章

  1. php+getdomfromstring,php使用simple_html_dom解析HTML示例
  2. 【Django 2021年最新版教程4】为项目添加资源文件(css,js,image)
  3. Hyperledger Fabric教程(12)--链码chaincode样例
  4. android 文件管理 显示缩略图,android将缩略图保存到缩略图文件夹_android_开发99编程知识库...
  5. 数据库学习----JDBC
  6. jquery mysql php_PHP+jQuery+MySQL来实现一个在线测试项目
  7. Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(
  8. 十五、static关键字
  9. blackfriday markdown的自动换行 go lang 正则替换字符串时遇到的坑,转义解析其中的 $1 $name 等
  10. 阶段5 3.微服务项目【学成在线】_day01 搭建环境 CMS服务端开发_14-MongoDb入门-文档...