1、sql2005分页储存过程

--sql2005,qq524365501
create Procedure up_page2005 @TableName varchar(100), -- 表名称
@File varchar(1000),    -- 列
@praname varchar(50),   -- 主键,用于统计总数
@OrderFile varchar(100), -- 排序字段 ,例如 id asc
@PageSize varchar(10), -- 每页数量
@PageIndex varchar(10), -- 页码
@docount int = 0, -- 返回记录总数, 非 0 值则返回
@Where varchar(1000) -- 查询条件必须带and,例如 and passed=1 and deleted=0 as
declare @strsql varchar(8000) -- 主语句
declare @strsqlcount varchar(1000) -- 统计语句
------------统计总条数begin-----------
if @docount != 0
begin
if @Where != ''
set @strsqlcount ='select count(' + @praname + ' ) as total from ' + @TableName +' where 1=1 '+@Where+';'
else
set @strsqlcount ='select count(' + @praname + ' ) as total from ' + @TableName+';'
end
--以上代码的意思是如果@docount传递过来的不是0,就执行总数统计
else
begin
set @strsqlcount='';
end
------------统计总条数end-----------
------------查询主数据begin--------- set @strsql = 'select ' + @File + ' from (select *,ROW_NUMBER() over(order by ' + @OrderFile + ') as ''rowNumber'' from ' + @TableName + ' where 1=1 ' + @Where + ' ) temp where rowNumber between (((' + @PageIndex + ' - 1) * ' + @PageSize + ')+1) and (' + @PageIndex + '*'+ @PageSize+');'
exec(@strsql+@strsqlcount)

2、C#分页类

using System;
using System.Collections.Generic;
using System.Web;
using System.Data;
using System.Data.SqlClient; /// <summary>
///PagerClass 的摘要说明
/// </summary>
public class PagerClass
{
/// <summary>
/// 分页数据,返回DataSet,tablse[0]=主数据,tablse[1]=总条数
/// </summary>
/// <param name="DBname">表名称,可以是多个</param>
/// <param name="DBdata">返回的字段名称</param>
/// <param name="IDname">主键,用于统计总数用</param>
/// <param name="orderby">排序</param>
/// <param name="pageSize">每页数量</param>
/// <param name="pageNow">当前页</param>
/// <param name="where">条件</param>
/// <param name="doCount">0=不统计总条数,1=统计总条数</param>
/// <returns></returns>
public static DataSet pageData(string DBname, string DBdata, string IDname, string orderby, int pageSize, int pageNow, string where, int doCount)
{
DataSet ds = new DataSet();
try
{
SqlParameter[] parameters = {
new SqlParameter("@TableName", SqlDbType.VarChar,),
new SqlParameter("@File", SqlDbType.VarChar,),
new SqlParameter("@praname", SqlDbType.VarChar,),
new SqlParameter("@OrderFile", SqlDbType.VarChar,),
new SqlParameter("@PageSize", SqlDbType.VarChar,),
new SqlParameter("@PageIndex", SqlDbType.VarChar,),
new SqlParameter("@docount", SqlDbType.Int),
new SqlParameter("@Where", SqlDbType.VarChar,),
};
parameters[].Value = DBname;
parameters[].Value = DBdata;
parameters[].Value = IDname;
parameters[].Value = orderby;
parameters[].Value = pageSize;
parameters[].Value = pageNow;
parameters[].Value = doCount;
parameters[].Value = where;
ds = DbHelperSQL.RunProcedure("up_page2005", parameters, "ds");
}
catch
{
return ds;
}
return ds;
}
}

sql2005分页储存过程和C#分页类的更多相关文章

  1. Sql Server分页储存过程

    --分页储存过程if exists (select * from sys.procedures where name='Page')drop proc Pagegocreate proc Page@P ...

  2. 基于C#在Mongodb的Skip-Limit和Where-Limit的分页对比 并且含mongodb帮助类的源码

    最近在设计的日志服务中需要用到Mongodb这个Nosql数据库(不知道Mongodb的点我),由于是用于纯存日志,而且日志量巨大,百万千万级的,所以需要用到它的分页查询. 不过LZ也是刚刚接触这个数 ...

  3. MySQL 储存过程-原理、语法、函数详细说明

    Mysql储存过程是一组为了完成特定功能的SQL语句集,经过编译之后存储在数据库中,当需要使用该组SQL语句时用户只需要通过指定储存过程的名字并给定参数就可以调用执行它了,简而言之就是一组已经写好的命 ...

  4. C#函数与SQL储存过程

    一点点小认识作为memo,求指正. C#的函数与SQL的储存过程有很多的相似性, 它们都是一段封闭的代码块,来提高代码的重用性,虽然现在复制粘贴很方便,但是我们在写多个函数的时候频繁的复制粘贴相同的内 ...

  5. laravel基础课程---15、分页及验证码(lavarel分页效果如何实现)

    laravel基础课程---15.分页及验证码(lavarel分页效果如何实现) 一.总结 一句话总结: 数据库的paginate方法:$data=\DB::table("user" ...

  6. 【转】oracle查询用户表,函数,储存过程,

    ◆Oracle查询用户表空间:select * from user_all_tables ◆Oracle查询所有函数和储存过程:select * from user_source ◆Oracle查询所 ...

  7. SQL获取所有数据库名、表名、储存过程以及参数列表

    SQL获取所有数据库名.表名.储存过程以及参数列表 1.获取所有用户名:SELECT name FROM Sysusers where status='2' and islogin='1'islogi ...

  8. 理解Lucene索引与搜索过程中的核心类

    理解索引过程中的核心类 执行简单索引的时候需要用的类有: IndexWriter.ƒDirectory.ƒAnalyzer.ƒDocument.ƒField 1.IndexWriter IndexWr ...

  9. JDBC和JPA调用储存过程 接收存储过程有返回值

    ============jdbc==========================================--java代码:一个输出参数--String connURL = null;Con ...

随机推荐

  1. 解决ubuntu13.04 有线网络 时常掉线的问题

    不少朋友在升级或新装ubuntu13.04时遇到有线老掉线的问题:连上不到半分钟又掉了,把网线重新拔插一下又可以接着又掉..基本不能正常使用或工作,很恼人的问题. 网上这方面的资料很少现在我把解决方法 ...

  2. stuff in /proc/PID/

    Table of Contents 1. /proc/PID/cwd 2. /proc/PID/clear_refs 3. /proc/PID/coredump_filter 4. /proc/PID ...

  3. 设置树莓派SSH连接因超时闲置断开(转)

    设置树莓派SSH连接因超时闲置断开 转自:http://shumeipai.nxez.com/2013/12/06/set-ssh-connection-is-disconnected-due-to- ...

  4. 【DM】The PageRank Citation Ranking: Bringing Order to the Web - PageRank引用排名:将订单带到Web上

    [论文标题]The PageRank Citation Ranking: Bringing Order to the Web (1998) [论文作者]Larry Page [论文链接]Paper(1 ...

  5. 百度地图 ijintui以及七牛、百度编辑器、kindeditor

    密码是明文存储的 sig错误是因为params没拼接上md5后的秘钥,测试时候可以在 Api\Controller\CommonController\_initialize 方法里注释掉效验的代码 代 ...

  6. Virtualbox虚拟机克隆

    Vmware Workstation可以提供虚拟机的克隆,可以安装好虚拟机之后可以非常方便的复制一个虚拟机,这样在搭建多台虚拟机的环境下非常方便,无需一台台的安装系统,但是Virtualbox在图形界 ...

  7. 【struts2】自定义更强大的logger拦截器

    Struts2自带的logger拦截器只是打印出了Action所对应的URL以及执行的方法名称,这对实际开发来说是肯定不够的.实际开发中为了调试方便,要记录的信息比较多,通常需要把这次请求相关的几乎所 ...

  8. Linux中SFTP命令

    sftp和ftp是两种协议是不同的,sftp是ssh内含的协议,只要sshd服务器启动了,它就可用,它本身不需要ftp服务器启动. 1.常用登陆方式: 格式:sftp <user>@< ...

  9. mysql 大数据提取

    今天要重五百多万的一个数据库表 提取 大约五十万条数据,刚开始的解决思路是: 先把数据查询出来,然后再导出来,然后再设计一个数据库表格,把这些数据导入,最后导出数据和导入数据花费了很多时间,最后向同事 ...

  10. 将Android Studio默认布局ConstraintLayout切换成LinearLayout

    将Android Studio默认布局ConstraintLayout切换成LinearLayout     大部分人初次使用google android 扁平化布局ConstraintLayout都 ...