国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 西城区| 巩义市| 深圳市| 若尔盖县| 静乐县| 腾冲县| 梁平县| 西峡县| 漳平市| 阿城市| 阿拉善右旗| 新丰县| 武清区| 娄底市| 鸡泽县| 海阳市| 历史| 新安县| 南投县| 衢州市| 鄂尔多斯市| 凌源市| 墨玉县| 苏尼特右旗| 长治市| 达拉特旗| 鹤壁市| 阜城县| 长武县| 雷州市| 建阳市| 赤壁市| 安乡县| 砀山县| 甘孜县| 怀柔区| 安宁市| 武穴市| 任丘市| 威远县| 云安县|