随笔分类 -  数据库

摘要:ASP.net 的DataGrid 控件的内置分页功能一直不被看好,原因是它先把所有数据从数据库读出来再进行分页。在数据量很大的情况下,用它内置的分页功能被认为几乎是不可能的事。对海量数据的读取和分页,大家会通过自定义分页来实现。其核心技术是SQL语句的设计。一般有三种方案:方案一:(利用SQL的游标存储过程分页)create procedure XiaoZhengGe@sqlstr nvarchar(4000), --查询字符串@currentpage int, --第N页@pagesize int --每页行数asset nocount ondeclare @P1 int, --P1是游标 阅读全文
posted @ 2012-07-13 11:10 lhyterry 阅读(7458) 评论(1) 推荐(0)
摘要:create proc [dbo].[SqlPager](@tblName varchar(255), -- 表名(注意:可以多表链接)@strGetFields varchar(1000) = '*', -- 需要返回的列@OrderfldName varchar(255)='', -- 排序的字段名@PageSize int = 10, -- 页尺寸@PageIndex int = 1, -- 页码@doCount int = 1 output, --查询到的记录数@OrderType bit = 0, -- 设置排序类型, 非 0 值则降序@strWher 阅读全文
posted @ 2011-12-06 13:55 lhyterry 阅读(210) 评论(0) 推荐(0)
摘要:今天论坛里面找了一个通用的分页存储过程,和大家分享下.此文转自:http://blog.csdn.net/cndotaci/*通用分页存储过程*/USE HotelManagementSystemGOIF EXISTS(SELECT * FROM sys.objects WHERE NAME='cndoup_GetPageOfRecords')DROP PROCEDUREcndoup_GetPageOfRecordsGO--创建存储过程CREATE PROCEDUREcndoup_GetPageOfRecords@pageSize int = 20, --分页大小@cur... 阅读全文
posted @ 2011-11-17 11:51 lhyterry 阅读(663) 评论(0) 推荐(2)