国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

ASP.net 2.0 自定義控件的開發(fā)之數(shù)據(jù)分頁 第四章

2024-07-10 13:06:18
字體:
供稿:網(wǎng)友

最大的網(wǎng)站源碼資源下載站,

存儲過程 為 sql server 2000版本,請打開sql server 2000 的查詢分析器執(zhí)行下面的sql 語句。
程序用到的存儲過程(僅支持主鍵排序)

if exists (select * from dbo.sysobjects where id = object_id(n'[dbo].[sys_quicksortpaging]'and objectproperty(id, n'isprocedure'= 1)
drop procedure [dbo].[sys_quicksortpaging]
go

set quoted_identifier off 
go
set ansi_nulls on 
go

create procedure  sys_quicksortpaging

    
@table nvarchar(4000),            --表名(必須)
    @primarykeyfield nvarchar(50),        --表的主鍵字段
    @field nvarchar (4000)='*',         --需要返回字段名(必須)        
    @where nvarchar(1000)=null,        --where 條件(可選)
             @groupby nvarchar(1000= null,     --分組
    @orderby nvarchar(1000)=null,     --排序用到的字段()
    @pagenumber int = 1,             --要返回的頁(第x頁) (默認為第一頁)
    @pagesize int = 10,            --每頁大小(默認為5)
    @recordcount int output        --返回記錄總數(shù)
)
as 
    
set nocount on
    
declare @sorttable nvarchar(100)
    
declare @sortname nvarchar(100)
    
declare @strsortcolumn nvarchar(200)
    
declare @operator nvarchar(50)
    
declare @type varchar(100)
    
declare @prec int

    
if @orderby is null or @orderby = ''
    
set @orderby =  @primarykeyfield    
    
    
/**//* 獲取用于定位的字段*/                
    
if charindex('desc',@orderby)>0                        
        
begin
            
set @strsortcolumn = replace(@orderby'desc''')
            
set @operator = '<='
        
end
    
else
        
begin
            
if charindex('asc'@orderby= 0
            
set @strsortcolumn = replace(@orderby'asc''')
            
set @operator = '>='
        
end
    
    
if charindex('.'@strsortcolumn> 0                        
        
begin
            
set @sorttable = substring(@strsortcolumn0charindex('.',@strsortcolumn))
            
set @sortname = substring(@strsortcolumncharindex('.',@strsortcolumn+ 1len(@strsortcolumn))
        
end
    
else
        
begin
            
set @sorttable = @table
            
set @sortname = @strsortcolumn
        
end

    
select @type=t.name, @prec=c.prec
    
from sysobjects o 
    
join syscolumns c on o.id=c.id
    
join systypes t on c.xusertype=t.xusertype
    
where o.name = @sorttable and c.name = @sortname
    
    
if charindex('char'@type> 0
    
set @type = @type + '(' + cast(@prec as nvarchar+ ')'

    
declare @strstartrow nvarchar(50)
    
declare @strpagesize nvarchar(50)
    
declare @strwhere nvarchar(1000)
    
declare @strwhereand nvarchar(1000)
    
declare @strgroupby nvarchar(1000)

    
if  @pagenumber < 1
    
set @pagenumber = 1
    
    
set @strpagesize = convert (nvarchar(50), @pagesize)
    
set @strstartrow = convert ( nvarchar(50), (@pagenumber - 1)*@pagesize + 1)
    
    
if @where is not null and @where !=''
    
begin
        
set @strwhere = ' where '+ @where 
        
set @strwhereand= ' and ' + @where 
    
end
    
else
    
begin
        
set @strwhere =  ''
        
set @strwhereand=''
    
end
    
    
if @groupby is not null and @groupby != ''
    
begin
        
set @strgroupby = ' group by ' + @groupby
    
end
    
else
    
begin
        
set @strgroupby = ''
    
end

    
declare @strsql nvarchar(4000)
    
set @strsql= ' select  @recordcount = count (*)  from ' + @table + @strwhere + ' '  + @strgroupby
    
exec   sp_executesql   @strsql,n'@recordcount   int   output',@recordcount   output--計算總頁數(shù)   

    
exec
        ( 
        
'
        declare @sort 
' + @type + '
        set rowcount 
' + @strstartrow + '
        select  @sort = 
' + @strsortcolumn + '  from ' + @table + @strwhere + ' '  + @strgroupby + ' order by ' + @orderby + ' 
        set rowcount 
' + @strpagesize + ' 
        select 
'+@field+'  from ' + @table + ' where ' + @strsortcolumn  + @operator  + ' @sort ' + @strwhereand + ' '  + @strgroupby + ' order by ' +  @orderby
        )
go
set quoted_identifier off 
go
set ansi_nulls on 
go
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 黄大仙区| 苏尼特右旗| 扎赉特旗| 阳城县| 长泰县| 桑植县| 宜川县| 开江县| 南陵县| 隆回县| 饶阳县| 和林格尔县| 尉犁县| 高邑县| 五原县| 朔州市| 马关县| 宝兴县| 南汇区| 永寿县| 修水县| 易门县| 化德县| 太湖县| 洪雅县| 旅游| 日照市| 昌都县| 东丽区| 泰顺县| 嫩江县| 禄劝| 漳浦县| 麦盖提县| 东乌珠穆沁旗| 玛曲县| 长岭县| 岑巩县| 兴仁县| 麻阳| 仁布县|