Webform(分页、组合查询)
一、分页
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(分页、组合查询)相关推荐
- dataTables分页组合查询 springMVC Hibernate
组合查询的字段:昵称,性别,年龄,和类型.dataTable列显示字段:编号,名称,性别,年龄,类型. 1 <body> 2 <form> 3 <span>昵称:& ...
- webform 分页、组合查询综合使用
界面: 1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.as ...
- Webform(Linq高级查、分页、组合查询)
一.linq高级查 1.模糊查(包含) 1 public List<User> Select(string name) 2 { 3 return con.User.Where(r => ...
- WebForm 分页与组合查询
1.封装实体类 2.写查询方法 //SubjectData类 public List<Subject> Select(string name){List<Subject> li ...
- 多条件组合查询+分页
比较麻烦,把他记录下来. 前台UI: 实现的类代码: 程序代码 /// <summary> /// 多条件组合查询 /// </summary> ...
- java easyui条件组合查询_EasyUi+Spring Data 实现按条件分页查询
Spring data 介绍 Spring data 出现目的 为了简化.统一 持久层 各种实现技术 API ,所以 spring data 提供一套标准 API 和 不同持久层整合技术实现 . 自己 ...
- java mvc 分页查询条件_java分页条件查询-GridManager.js表格插件+Pageable分页对象+mybatis pagehelper分页插件...
总览: 一. GridManager.js表格插件 直接上插件API:链接地址 感觉该插件简单好用,插件作者也是有问必答,nice 二. 添加依赖 后端: pom文件添加: 1.7.0.RELEASE ...
- 页面多条件组合查询功能 代码 如何写效率高_Jeecg Boot 2.2 首个里程碑版本发布,低代码平台
项目介绍 JeecgBoot是一款基于代码生成器的低代码开发平台,开源界"小普元"超越传统商业企业开发平台!采用前后端分离架构:SpringBoot 2.x,Ant Design& ...
- LinQ高级查询、组合查询
LinQ高级查询.组合查询 LinQ高级查询: 1.模糊查询(包含) Repeater1.DataSource = con.car.Where(r =>r.name.Contains(s)).T ...
- 条件查询_多条件组合查询---测试用例设计
一.假设查询因子:A,B,C,D,E(下拉框+复选框) 1.单独查询:A:B:C:D:E - 确保单独查询的正确性,这也是最基本的. 2.两个组合查询:AB:AC:AD:AE:BC:BD:BE:CD: ...
最新文章
- [转]详细的mysql时间和日期函数
- ssl单向tomcat配置webservice访问方法
- DataTransmission:免费薅羊毛,Are you kidding me? 镭速传输 “百日计划”提前大曝光!Raysync传输协议要开放?
- 将gitLab 上的dev分支拉取到本地
- 神州云科DCN存储管理IP_干货!DCN校园网大二层解决方案详解
- java ui自动化测试脚本,如何用Airtest编写UI自动化脚本(示例代码)
- python中gmtime的hour错误_python中gmtime的hour错误_在Python中操作日期和时间之gmtime()方法的使用...
- Smart Slider 3 Pro高级轮播插件绿色版 附200多模版[更新至v3.5.0.5]
- Ubuntu系统---WeChat安装
- DB2数据库迁移,数据库导入导出
- js获取当前页面的url
- Unity Demo ——3D时钟
- iPhone 12 Pro测量人的身高竟然如此简单
- Linux下修复U盘坏块,快速修复U盘坏块
- 【深度学习】BatchSize设置
- 局域网服务器共享文件夹设置,局域网共享设置如何操作?怎么实现局域网文件夹共享?...
- 思考一道题:非相邻数最大和
- 基于微信小程序的高校图书共享平台
- 如何利用python产生随机数(randrange函数和random函数)
- 副业不知道做什么?来做知识付费网课商城项目,轻松赚钱
热门文章
- php+getdomfromstring,php使用simple_html_dom解析HTML示例
- 【Django 2021年最新版教程4】为项目添加资源文件(css,js,image)
- Hyperledger Fabric教程(12)--链码chaincode样例
- android 文件管理 显示缩略图,android将缩略图保存到缩略图文件夹_android_开发99编程知识库...
- 数据库学习----JDBC
- jquery mysql php_PHP+jQuery+MySQL来实现一个在线测试项目
- Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(
- 十五、static关键字
- blackfriday markdown的自动换行 go lang 正则替换字符串时遇到的坑,转义解析其中的 $1 $name 等
- 阶段5 3.微服务项目【学成在线】_day01 搭建环境 CMS服务端开发_14-MongoDb入门-文档...