文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院网络编程数据库通用分页存储过程,源码共享,大家共同完善
精品推荐
特别推荐
·SQL数据库完全使用手册
·进阶:精妙SQL语句介绍
·sql删除记录
·学习SQL语句之SQL语句大全
·数据备份失败的五个原因及解决办法
·解决SQL Server常见的七个经典问题
·SQL存储过程的概念,创建,调用,管理,删除,优点
·带你轻松接触13个数据库术语
·如何恢复系统数据库如何恢复系统数据库?
·通过实例讲解由浅入深学会存储过程
·学会三个范式快速成为数据库设计的高手
·SQL数据库应聘人员面试时经常被问的问题
·问答:查询分析器不能单步调试的的原因
·数据库基础知识:SQL中的IIF语句详解
·WindowsXP+IIS+PHP5+MySQL5+Zend+GD库+phpMyAdmin+PHPWind 5.3 安装教程
·你知道吗?优化数据库前的十大问题
·自动备份注意事项让你远离误删数据噩梦
·关于MSSQL数据库日志满的快速解决办法
·SQL安全设置攻略
·SQL注入的不常见方法
热点TOP10
·数据结构(C#)_排序算法(冒泡排序)
·通过分析SQL语句的执行计划优化SQL(二)
·在DataTable中查询应该注意的问题
·数据备份失败的五个原因及解决办法
·使用FileWriter可以写UTF-8的解决方法
·SQL存储过程的概念,创建,调用,管理,删除,优点
·教你如何读取Excel数据并导入DB2数据库
·教你简单七招 轻松实现Web数据库的安全
·帮你精细分析各种类型数据库的死锁问题
·通过分析SQL语句的执行计划优化SQL(一)
·学习SQL语句之SQL语句大全
·utl_file使用总结
·SQL数据库完全使用手册
·SQL中查询数据表字段名称的查询语句
·Delphi程序执行时实时生成报表
·玩转Windows桌面图标
·使用设计模式构建通用数据库访问类
·如何用sql语句修改数据表中字段,实现identity(100,1)的递增
·用独立的DLL来存储图片(资源文件)
·编程实例 WebGroupBox(Aspx控件)

通用分页存储过程,源码共享,大家共同完善

日期:2006年12月8日 作者: 查看:[大字体 中字体 小字体]


*/
CREATE PROCEDURE [dbo].[Sp_Paging]
    @PK    varchar(50)='',
    @Fields    varchar(500),
    @Tables varchar(1000),
    @Where varchar(500)='',
    @OrderBy varchar(100),
    @PageIndex int,
    @PageSize int
AS
--替换单引号,避免构造SQL出错
set @Fields = replace(@Fields, '''', '''''')

--要执行的SQL,切分为几个字符串,避免出现长度超过4k时的问题
declare @SQL1 varchar(4000)
declare @SQL2 varchar(4000)

set @SQL1 = ''
set @SQL2 = ''
if @Where is not null and len(ltrim(rtrim(@Where))) > 0
    set @Where = ' where ' + @Where
else
    set @Where = ' where 1=1'

set @SQL1 = @SQL1 + ' declare @TotalCount int'    --声明一个变量,总记录数
set @SQL1 = @SQL1 + ' declare @PageCount int'    --声明一个变量,总页数
set @SQL1 = @SQL1 + ' declare @PageIndex int'    --声明一个变量,页索引
set @SQL1 = @SQL1 + ' declare @StartRow int'    --声明一个变量,当前页第一条记录的索引

set @SQL1 = @SQL1 + ' select @TotalCount=count(*) from ' + @Tables + @Where    --获取总记录数
set @SQL1 = @SQL1 + ' if @PageCount <= 0 begin'    --如果记录数为0,直接输出空的结果集
set @SQL1 = @SQL1 + ' select ' + @Fields + ' from ' + @Tables + ' where 1<>1'
set @SQL1 = @SQL1 + ' select 0 as PageIndex,0 as PageCount,' + convert(varchar, @PageSize) + ' as PageSize,0 as TotalCount'
set @SQL1 = @SQL1 + ' return end'

set @SQL1 = @SQL1 + ' set @PageCount=(@TotalCount+' + convert(varchar, @PageSize) + '-1)/' + convert(varchar, @PageSize)    --获取总页数
set @SQL1 = @SQL1 + ' set @PageIndex=' + convert(varchar, @PageIndex)    --设置正确的页索引
set @SQL1 = @SQL1 + ' if @PageIndex<0 set @PageIndex=1'
set @SQL1 = @SQL1 + ' if @PageIndex>@PageCount and @PageCount>0 set @PageIndex=@PageCount'
set @SQL1 = @SQL1 + ' set @StartRow=(@PageIndex-1)*' + convert(varchar, @PageSize) + '+1'

if (charindex(',', @OrderBy)=0 and charindex(@PK, @OrderBy)>0)
begin
    --****************************************************************************
    --****************不需要创建主键********************************************
    --****************************************************************************
    declare @SortDirection varchar(10)    --排序方向,>=:升序,<=:倒序

上一页 [1] [2] [3] [4] [5] [6] [7] [8] 下一页 




上一篇:使用脚本控制网页Table的显示隐藏(全代码)

下一篇:几个C#编程的小技巧

通用分页存储过程,源码共享,大家共同完善 相关文章:
·局域网文件共享详解
·一次入侵过程的公开分析
·无线攻防:破解WEP密钥过程全解
·Ajax实现分页查询
·华为Quidway® NetEngine 40系列通用交换路由器(USR)
·解惑无权使用网络资源共享故障
·ASP分页代码,已经写成类了,值得参考
·AspNetPager分页控件--使用方法
·在Outlook中完善你的个性签名
·ADSL共享方案及实例操作
通用分页存储过程,源码共享,大家共同完善 相关软件:
·超可爱大家来找碴 V1.0
·《冰封王座》地图:魔兽MTV《美丽的神话》完善版
·MBA联考共享笔记之英语作文范文(商务类二)
·《韩语一点通4.0》+词汇完善
·google卫星地图,可以看见你家晒的衣服,免费送给大家
·电脑装机全过程
·BIOS设置全过程视频精讲(配语音讲解)WMV格式
·MIP2000通用信息管理平台 V2.1
·局域网共享设置梦想吧专用版
·Opera通用设置工具 V070328

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:viphot