set ansi_nulls on
set quoted_identifier on
goalter procedure [dbo].[pager_pagination]
@sql nvarchar(max), --sql語句不包括排序
@curpage int, --當前頁
@pagerows int, --頁面尺寸
@order nvarchar(100), --排序字段
@ordertype nvarchar(10) --排序型別倒序desc或正序asc
asbegin
set nocount on;
declare @excesql nvarchar(4000)
declare @totalrecorder int
--設定開始行號
declare @start_row_num as int
declare @end_row_num as int
if(@curpage=1)
begin
set @start_row_num = (@curpage - 1) * @pagerows
set @end_row_num = @start_row_num+@pagerows
endelse
begin
set @start_row_num = ((@curpage - 1) * @pagerows)+1
set @end_row_num = (@start_row_num+@pagerows)-1
end
--設定表示
declare @rownumber nvarchar(500)
set @rownumber = ', row_number() over(order by ' + @order +' '+ @ordertype + ') as rownumber '
set @sql = stuff(@sql,charindex ('from', @sql)-1,1,@rownumber)
--set @sql = replace(@sql,' from ',@rownumber)
--獲得總記錄數
set @excesql = 'with tmp as (' + @sql + ')
select @totalrecorder=max(rownumber) from tmp'
execute sp_executesql @excesql,n'@totalrecorder int output',@totalrecorder output
--查詢語句
set @excesql = 'with tmp as (' + @sql + ')
select * from tmp where rownumber between ' + convert(nvarchar,@start_row_num)
+ ' and ' + convert(nvarchar,@end_row_num)
execute(@excesql)
select @totalrecorder as totalrecorder
end
多檔案修改版
這是繼上乙個錯誤之後,張玉老師給修改的,一開始我的類物件宣告是全域性變數,所以多檔案了以後,求周長那裡就出了問題。這一版不但解決了問題,更是幫我省出了很大的空間,身為類成員的兩個函式代替了六個資料成員,留出了空間,程式也不那麼亂七八糟了。棒!程式 main 作 者 趙玲玲 完成日期 2014 年 4...
佛緣(結局修改版)
闌珊因不滿前一篇的結局部份,所有才有了這個補丁,當然得轉過來。闌珊的文字功底的確n8錯,似乎她可以去維護世界和平了,呵呵!佛緣 修改版sp20061006 我才知道佛祖的法力早已突飛猛進,塵世浮游,他都能看得一清二楚了,而我也在他的手上,看世事變遷,只是,無論如何,都回不到曾經平淡的心境了。曾幾何時...
模板匹配 Match Template 修改版
修改者 madturtle 對於王先生的版本進行了修改,因為有些地方不對。模板匹配的工作方式 模板匹配的工作方式跟直方圖的反向投影基本一樣,大致過程是這樣的 通過在輸入影象上滑 像塊對實際的影象塊和輸入影象進行匹配。假設我們有一張100x100的輸入影象,有一張10x10的模板影象,查詢的過程是這樣...