介绍一下和AspNetPager结合的不错的分页方案
阅读全文:http://www.sufeinet.com/thread-2112-1-1.html
先说一下存储过程的写法
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [dbo].[Psp_SetPagination]
(
@vc_Table varchar(50),--表名
@vc_SqlWhere varchar(1000)='',--条件
@vc_SqlOrder varchar(1000)='',--排序规则
@vc_SqlFile varchar(1000)='*',--选取字段
@vc_Key varchar(50)='',--关键字
@vc_FieldType varchar(50)='',--字段类型
@i_PageSize int=1,--分页大小
@i_PageIndex int=1,--页面索引
@bt_Count bit --在统计吗?
)
As
set nocount on
Declare @vc_Sql varchar(5000)
if @bt_Count=1
BEGIN
set @vc_Sql='select count(*) from '+@vc_Table+' '+@vc_SqlWhere
END
ELSE
BEGIN
set @vc_Sql='Declare @indexTable Table(Id decimal identity(1,1),Temp_Key '+@vc_FieldType+ ')'+char(13)
set @vc_Sql=@vc_Sql+
'Declare @PageLowerBound int'+char(13)
set @vc_Sql=@vc_Sql+
'Declare @PageUpperBound int'+char(13)
set @vc_Sql=@vc_Sql+
'set @PageLowerBound='+cast((@i_PageIndex-1)*@i_PageSize as varchar(8))+char(13)
set @vc_Sql=@vc_Sql+
'set @PageUpperBound=@PageLowerBound+'+cast(@i_PageSize as varchar(8))+char(13)
set @vc_Sql=@vc_Sql+
'set rowcount @PageUpperBound'+char(13)
set @vc_Sql=@vc_Sql+
'Insert into @indexTable(Temp_Key)'+
'Select '+@vc_Key+' from '+@vc_Table+' '+@vc_SqlWhere+' '+@vc_SqlOrder+char(13)
if @vc_SqlWhere<>''
begin
set @vc_SqlWhere=@vc_SqlWhere+' and '+@vc_Key+'=t.Temp_Key and t.Id>@PageLowerBound and t.Id<=@PageUpperBound'
end
else
begin
set @vc_SqlWhere='Where '+@vc_Key+'=t.Temp_Key and t.Id>@PageLowerBound and t.Id<=@PageUpperBound'
end
set @vc_Sql=@vc_Sql+
'Select '+@vc_SqlFile+' from '+@vc_Table+',@indexTable t '+@vc_SqlWhere+' Order by t.Id'
END
EXEC(@vc_Sql)
看完之后有什么想法, 是不是很好用啊,你可以把它当成一个共用的过程也可以在前台写好访问的方法,我喜欢在前台写好方法,这样的话,它就和表数据库无关了, 只要我做项目,把这个存储过程在数据库里一运行,在前台用写好的方法,调用就行了, 没有任何分别,和表和数据库都没有关系,更好的是他是在Sql2000的基础上写的,所以,不管是在Sql2000还是Sql05里都是可以的,程序是一个类也不用变,呵呵这样是不是很好啊, 下面我说一下怎么写类,
有两个类一个是 AspNetPagerInfo.cs 这个类是一个Model类主要是属性,用来传参数用的,
关键是AspNetPager.cs这个类,这个类才是我们要用的, 下面是代码分别看一下吧
阅读全文:http://www.sufeinet.com/thread-2112-1-1.html
介绍一下和AspNetPager结合的不错的分页方案相关推荐
- 介绍一种超简单的化工厂人员定位系统方案
今天我来给大家介绍一种超级简单的化工厂人员定位方案,为什么说简单呢,下面我给大家详细说道说道,我尽量用通俗.容易理解的话让大家明白我们的化工厂人员定位方案. 首先,我们的化工厂人员定位系统主要基于UW ...
- 物联网方案介绍 - 智能水务—二次供水泵房物联网升级方案
物联网方案介绍 - 智能水务-二次供水泵房物联网升级方案 1. 方案背景 目前城市的供水泵房,尤其是二次供水泵房,除了部分由自来水公司管理 外,多数由用水方负责建设管理,如物业公司.居委会.产权单位 ...
- 介绍几个预览效果不错的BIM网站链接
1.http://www.bimrun.com/static/showcase/#/projectPage/134072911/babylon 这是BIMRUN公司的案例简介,但是从操作上来说被固定了 ...
- 介绍一种更方便的代理池实现方案
现在搞爬虫,代理是不可或缺的资源. 代理池 为了保证代理的有效性,我们往往可能需要维护一个代理池.这个代理池里面存着非常多的代理,同时代理池还会定时爬取代理来补充到代理池中,同时还会不断检测其中代理的 ...
- logback - 自定义日志脱敏组件,一种不错的脱敏方案
前言 在我们书写代码的时候,会书写许多日志代码,但是有些敏感数据是需要进行安全脱敏处理的. 对于日志脱敏的方式有很多,常见的有①使用conversionRule标签,继承MessageConverte ...
- 教育培训软件的基础功能介绍培训管理系统教师在线直播教育功能开发方案
系统优势 1.大幅降低学校信息化建设成本(包括:局域网建设.服务器采购.软件采购.网管人员薪资.人员培训等成本). 2.让教务管理人员从繁重的工作中彻底解脱出来,使教务工作变得更简单,可靠,安全,方便 ...
- 微前端解决方案初探 01 微前端介绍、价值、如何实现、systemjs 模块化方案
什么是微前端 微前端是一种软件架构,可以将前端应用拆解成一些更小的能够独立开发部署的微型应用,然后再将这些微应用进行组合使其成为整体应用的架构模式. 微前端架构类似于组件架构,但不同的是,组件不能独立 ...
- kivy mysql_Kivy中文显示
[Kivy中文显示]的更多相关文章 Win7系统 下载 DroidSansFallback.ttf字体(android设备上自带了) 源代码第一行增加#-*- coding:utf-8 -*- 创建w ...
- 十分经典的windows批处理教程 (文笔很不错呢)
本人今天去面试第一次遇到问我windows批处理脚本的之前是问shell脚本后来说他们那里既有windows主机也有linux主机所以都得会无奈小哥只会点shell批处理也只会一点点皮毛所以开始搜集学 ...
- mysql性能的介绍少_MySQL性能突然下降怎么回事 MySQL性能突然下降原因介绍
MySQL性能突然下降怎么回事?本篇文章小编给大家分享一下MySQL性能突然下降原因介绍,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 有时会碰到这样的情况,一条 SQL ...
最新文章
- 在SQL Server引用dll的流程
- jsp的jstl的foreach标签
- 【算法】快速排序/数组第K小的元素
- python matplotlib:figure,add_subplot,subplot,subplots讲解实现
- ios php rsa,RSA 加密 iOS
- mybatis 多表查询-多对多
- apipost--接口测试脚本编写if判断语句使用
- 压缩 质量不变_来了!业内首个HEIF图像高质量压缩FPGA加速方案
- java set collection_Java的Collection接口和Set接口?
- java工程师求职简历,实战案例
- unity怎么制作云飘动_现实的动态云系统特效脚本Unity3D素材资源
- 浅谈何为分布式,何为微服务架构
- HTML+CSS鼠标悬停效果
- GitHub无法访问下载
- 交通大学计算机科学考研_选择计算机科学作为大学专业之前需要知道的事情
- Java研发岗面试复盘总结附答案+考点
- Android获取设备的唯一识别码|设备号|序号|UUID
- 2019 CCPC wannfly winter camp Day 8
- 赫宝铁甲格斗机器人系列_【为老铁打call】最直白的常规格斗机器人类型解说!以后别再说你不懂格斗机器人...
- oracle 截取小数点_数据库截取小数点后两位小数