数据分页c#
存储过程分页的全套代码
aspx页面的代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
namespace AspDotNet07_AjaxCRUD.View
{
public partial class WebForm1 : System.Web.UI.Page
{
public static int pageIndex=1;
public static int pageSize=10;
public static int pageCount;
public static int pageRowcount;
public static int tag = 0;
protected void Page_Load(object sender, EventArgs e)
{
tag++;
if (tag == 1)
{
//InitPage();
}
}
public void InitPage()
{
DataTable dt = new DataTable();
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=db_EMS;Integrated Security=True");
SqlDataAdapter da = new SqlDataAdapter("kk", con);
//设置 命令类型 为存储过程
da.SelectCommand.CommandType = CommandType.StoredProcedure;
//设置 参数
da.SelectCommand.Parameters.AddWithValue("@pageIndex", pageIndex);//当前页码
da.SelectCommand.Parameters.AddWithValue("@pageSize", pageSize);//页容量
da.SelectCommand.Parameters.Add(new SqlParameter("@pageRowCount", SqlDbType.Int));//总行数
//在存储过程中 输出参数
da.SelectCommand.Parameters.Add(new SqlParameter("@pageCount", SqlDbType.Int));//总页数
//将后面两个参数 设置为 输出类型
da.SelectCommand.Parameters[2].Direction = ParameterDirection.Output;
da.SelectCommand.Parameters[3].Direction = ParameterDirection.Output;
//执行 并将查询到的 结果 赋给 数据表对象
da.Fill(dt);
//获得 存储过程 返回的 输出参数
pageCount = Convert.ToInt32(da.SelectCommand.Parameters[3].Value);
pageRowcount = Convert.ToInt32(da.SelectCommand.Parameters[2].Value);
GridView1.DataSource = dt.DefaultView;
GridView1.DataBind();
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
string s="aawwaafffffkkkkkb";
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append(s);
cf(sb);
pageIndex++;
if (pageIndex > pageCount)
{
pageIndex--;
Response.Write("<script>alert('redy last page')</script>");
return;
}
InitPage();
}
private void cf(System.Text.StringBuilder sb)
{
Console.WriteLine(sb[0]);
}
protected void Button2_Click(object sender, EventArgs e)
{
pageIndex--;
if (pageIndex <1)
{
pageIndex++;
Response.Write("<script>alert('redy first page')</script>");
return;
}
InitPage();
}
protected void Button3_Click(object sender, EventArgs e)
{
Response.Redirect("WebForm2.aspx?id=33");
}
}
}
存储过程的代码
create proc imd
@pageIndex int,
@pageSize int,
@pageRowCount int output,
@pageCount int output
as
begin
select @pageRowCount=COUNT(id)*1.0 from dbo.t
select @pageCount=CEILING(@pageRowCount*1.0/@pageSize)
select * from
(
select *,ROW_NUMBER() over(order by id) as rownum from dbo.t
)as temp where temp.rownum between (@pageIndex-1)*@pageSize+1 and @pageIndex*@pageSize
end;
declare @cr int
declare @pr int
exec imd 2,10,@cr output,@pr output
数据分页c#的更多相关文章
- mysq大数据分页
mysql limit大数据量分页优化方法 Mysql的优化是非常重要的.其他最常用也最需要优化的就是limit.Mysql的limit给分页带来了极大的方便,但数据量一大的时候,limit的性能就急 ...
- Sql Server 数据分页
http://www.cnblogs.com/qqlin/archive/2012/11/01/2745161.html 1.引言 在列表查询时由于数据量非常多,一次性查出来会非常慢,就算一次查出来了 ...
- Oracle、MySql、SQLServer数据分页查询
看过此博文后Oracle.MySql.SQLServer 数据分页查询,在根据公司的RegionRes表格做出了 SQLserver的分页查询语句: 别名.字段 FROM( SELECT row_nu ...
- 知方可补不足~SQL2005使用ROW_NUMBER() OVER()进行数据分页
回到目录 数据分页是这个经常说的东西,无论在WEBForm还是WinForm中它都会被单独拿出来,或者是公用组件,或者是公用类库,反正对于数据分页这个东西,总是我们关注的一个话题,但事实上,数据分页归 ...
- salesforce 零基础开发入门学习(八)数据分页简单制作
本篇介绍通过使用VF自带标签和Apex实现简单的数据翻页功能. 代码上来之前首先简单介绍一下本篇用到的主要知识: 1.ApexPages命名空间 此命名空间下的类用于VF的控制. 主要的类包括但不限于 ...
- Oracle中的数据分页
--数据分页脚本 --创建包含数据分页代码元素声明的包头结构create or replace package data_controlis type type_cursor_data is ref ...
- 数据分页处理系列之三:Neo4j图数据分页处理
首先简单介绍下Neo4j,Neo4j是一个高性能的NOSQL图形数据库,它将结构化数据存储在网络上而不是表中,它是一个嵌入式的.基于磁盘的.具备完全的事务特性的Java持久化引擎,但是它将结构化数 ...
- 数据分页处理系列之二:HBase表数据分页处理
HBase是Hadoop大数据生态技术圈中的一项关键技术,是一种用于分布式存储大数据的列式数据库,关于HBase更加详细的介绍和技术细节,朋友们可以在网络上进行搜寻,笔者本人在接下来的日子里也会写 ...
- 数据分页处理系列之一:Oracle表数据分页检索SQL
关于Oracle数据分页检索SQL语法,网络上比比皆是,花样繁多,本篇也是笔者本人在网络上搜寻的比较有代表性的语法,绝非本人原创,贴在这里,纯粹是为了让"数据分页专题系列"看起 ...
- Oracle、MySql、SQLServer 数据分页查询
最近简单的对oracle,mysql,sqlserver2005的数据分页查询作了研究,把各自的查询的语句贴出来供大家学习..... (一). mysql的分页查询 mysql的分页查询是最简单的,借 ...
随机推荐
- win10 + Ubuntu 双系统,重装后的引导修复,时间调整和启动项调整
▶ 原先为 win10 + Ubuntu 双系统,使用 grub2 作引导,在重装了 win10 (大作死升到了1803)后系统重写了引导,启动项里找不到 Ubuntu,需要修复. ● 参考[http ...
- datasnap 如何监控客户端的连接情况
如果客户端是TCP/IP是短连接的情况就没有必要了. type pClientConns = ^TClientConns; // 客户连接 TClientConns = record clientid ...
- UI5-文档-2.4-Node.js-Based开发环境
用于修改OpenUI5.环境是基于Node.js,用作服务器,具有一个基于Grunt的构建过程.本节提供关于初始设置.开发工作流和测试执行的信息. 常规开发过程: 不需要构建过程,您可以简单地修改任何 ...
- 推荐的 MongoDB 安装文档
简介: MongoDB 是一个由 C++ 语言编写的基于分布式文件存储的数据库,是目前最像关系型数据库的非关系型数据库. 最近写爬虫, 思来想去觉得还是用 MongoDB 比较方便. 一.安装 # 官 ...
- Python Spider 抓取猫眼电影TOP100
""" 抓取猫眼电影TOP100 """ import re import time import requests from bs4 im ...
- MATLAB中 histogram 和 imhist 的区别
matlab有两个生成直方图的库函数,分别是imhist和histogram,二者有何区别呢? 区别就是: imhist 官方help:imhist(I) calculates the histogr ...
- [ERR] Not all 16384 slots are covered by nodes.
redis集群开不起来,用redis-cli连接的时候出现如下错误: CLUSTERDOWN The cluster is down 然后使用redis-trib.rb检查: ./redis-trib ...
- Windows驱动手动卸载与安装
彻底卸载的流程 1.删除C:\windows\inf\oem.inf路径下的所有oem文件 2.删除c:\windows\system32\drivers路径下对应的sys文件 3.(重要) 第一步: ...
- ORACLE用户永不被锁
alter profile default limit FAILED_LOGIN_ATTEMPTS UNLIMITED;
- java基础六 [异常处理](阅读Head First Java记录)
在程序运行时,我们不能保证所有服务和方法都是正确的,如果发生问题报错会导致程序崩溃,所以需要对一些可以预见的错误进行异常处理,通过throw去抛出一个异常,然后用try..catch..将要执行的该方 ...