博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
分页查询
阅读量:6968 次
发布时间:2019-06-27

本文共 4849 字,大约阅读时间需要 16 分钟。

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default1.aspx.cs" Inherits="Default1" %>    
姓名:
  性别:
 
Ids 姓名 性别
<%#Eval("Ids") %> <%#Eval("Name") %> <%#Eval("Sex") %>
当前是第【
】页,
上一页
 
下一页
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;public partial class Default1 : System.Web.UI.Page{    int PageCount = 5;    protected void Page_Load(object sender, EventArgs e)    {        Button1.Click += Button1_Click;//条件查询        btn_Prev.Click += btn_Prev_Click;//上一页        btn_Next.Click += btn_Next_Click;//下一页        if (IsPostBack == false)//当IsPostBack为空的时候 进行数据填充        {            Repeater1.DataSource = new CeShiData().Select(TSQL(1));            Repeater1.DataBind();//数据绑定        }    }    //下一页    void btn_Next_Click(object sender, EventArgs e)    {        if (Label2.Text == MaxNumber().ToString())//判断label2的数值是不是最大值        {            return;//如果是  就直接跳出        }        //1、看看当前第几页,然后将页数+1        int PageNumber = Convert.ToInt32(Label2.Text) + 1;//获取下一页的页数 定义PageNumber获得PageNumber的数值         Label2.Text = PageNumber.ToString();//页面显示页数+1  用Label2来显示        //2、再然后将+1后的页数的数据查出来绑定        Repeater1.DataSource = new CeShiData().Select(TSQL(PageNumber));        Repeater1.DataBind();//重新绑定        Label1.Text = TSQL(PageNumber);    }    //上一页    void btn_Prev_Click(object sender, EventArgs e)    {        if (Label2.Text == "1")//判断label2的数值是不是最小值        {            return;//是的话直接跳出        }        //1、看看当前第几页,然后将页数+1        int PageNumber = Convert.ToInt32(Label2.Text) - 1;//获取下一页的页数        Label2.Text = PageNumber.ToString();//页面显示页数+1        //2、再然后将+1后的页数的数据查出来绑定        Repeater1.DataSource = new CeShiData().Select(TSQL(PageNumber));        Repeater1.DataBind();        Label1.Text = TSQL(PageNumber);    }    //条件查询    void Button1_Click(object sender, EventArgs e)    {        //1、将语句拼完 - 调用TSQL()方法        //2、用拼完的语句查数据并绑定        Repeater1.DataSource = new CeShiData().Select(TSQL(1));        Repeater1.DataBind();        Label1.Text = TSQL(1);        Label2.Text = "1";    }    //核心,如何返回Tsql语句是难点    private string TSQL(int PageNumber)    {        int cc = 0;//记录一下查询条数        string sql = "select top " + PageCount + " * from CeShi";//查询的语句        string t1 = "";//定义t1 t2 两个值  用来代替sql语句        string t2 = "";        //1、将条件查询的语句拼完        if (TextBox1.Text != "")        {            sql += " where Name like '%" + TextBox1.Text + "%'";            cc++;            t1 = " where Name like '%" + TextBox1.Text + "%'";//确定t1的sql语句        }        if (TextBox2.Text != "")        {            if (cc > 0)            {                sql += " and Sex like '%" + TextBox2.Text + "%'";                t2 = " and Sex like '%" + TextBox2.Text + "%'";//确定两种状态下t2 的sql语句            }            else            {                sql += " where Sex like '%" + TextBox2.Text + "%'";                t2 = " where Sex like '%" + TextBox2.Text + "%'";//确定两种状态下t2 的sql语句            }            cc++;        }        //2、将分页的语句拼完        if (cc > 0)        {            sql += " and Ids not in ( select top " + (PageCount * (PageNumber - 1)) + " Ids from CeShi " + t1 + t2 + " )";        }        else        {            sql += " where Ids not in ( select top " + (PageCount * (PageNumber - 1)) + " Ids from CeShi " + t1 + t2 + ")";        }        return sql;    }    //查询全部的复合条件的数据    private string TSQL1()    {        int cc = 0;//记录一下查询条数        string sql = "select * from CeShi";        //1、将条件查询的语句拼完        if (TextBox1.Text != "")//判断是否为空        {            sql += " where Name like '%" + TextBox1.Text + "%'";//模糊查询            cc++;        }        if (TextBox2.Text != "")        {            if (cc > 0)            {                sql += " and Sex like '%" + TextBox2.Text + "%'";//模糊查询            }            else            {                sql += " where Sex like '%" + TextBox2.Text + "%'";//模糊查询            }            cc++;        }        return sql;    }    //查询最大页数    private int MaxNumber()    {        List
ccc = new CeShiData().Select(TSQL1());//查询数据库中所有的数据 double bbb = ccc.Count / (PageCount * 1.0); //总页数,但是是浮点型 return Convert.ToInt32(Math.Ceiling(bbb));//转化成整数 } //1、做一个功能,先考虑,如何把他们合并起来 //2、如何合并?看看他们有什么共同点 - 都是拼Tsql语句 //3、再一步一步的按照主要功能来做}

 

转载于:https://www.cnblogs.com/zhangdemin/p/5707699.html

你可能感兴趣的文章
Mac 10.12安装WebStorm
查看>>
Spring Cloud启动应用时指定IP或忽略某张网卡配置
查看>>
Jenkins配置MSBuild实现自动部署2(项目实践)
查看>>
kafka好文章
查看>>
IBM发布超强量子计算机,可处理50个量子位
查看>>
如何使用Bro IDS和Intel Critical Stack分析网络活动
查看>>
Memcached的Web管理工具MemAdmin(待实践)
查看>>
嵌入式学习难点 嵌入式软件学习
查看>>
11204 ASM 在线存储迁移。
查看>>
eclipse不会自动编译的问题解决
查看>>
linux netstat命令
查看>>
淘宝卖家遭恶退诈骗 阿里一年来协助警方抓获103人
查看>>
拥2180亿美元收入,苹果成全球最大IT企业
查看>>
数据库连接池的工作原理
查看>>
网络抓包工具wireshark and tcpdump 及其实现基于的libpcap
查看>>
市值410亿美元!VR内容在5年后将成下一座金矿
查看>>
easyui的combobox根据后台数据实现自动输入提示功能
查看>>
ASP.NET MVC WEB API必知必会知识点总结
查看>>
Test2 unit6
查看>>
sql注入<二>
查看>>