最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

[數(shù)據(jù)庫(kù)] 通用分頁(yè)存儲(chǔ)過(guò)程

 更新時(shí)間:2007年02月09日 00:00:00   作者:  

以下這個(gè)是我自己寫(xiě)的一個(gè)分頁(yè)通用存儲(chǔ)過(guò)程

該方法也就是上頭所提到的行計(jì)數(shù)的方式,在系統(tǒng)中使用發(fā)現(xiàn)過(guò)很多次問(wèn)題,這是最終版本應(yīng)該不會(huì)再有什么算法之類(lèi)的問(wèn)題出現(xiàn)了

這個(gè)存儲(chǔ)過(guò)程的原理就是“譬如現(xiàn)在要第5頁(yè)數(shù)據(jù),每頁(yè)是16行,那么現(xiàn)在要的數(shù)據(jù)就是在前80行,并且不在原來(lái)的64行內(nèi)的”
復(fù)制代碼 代碼如下:

Create  Proc proc_PageRecordset 
@queryStr nvarchar(2000),  --查詢(xún)語(yǔ)句,用來(lái)獲取要顯示的數(shù)據(jù)必須滿(mǎn)足的要求@keyField nvarchar (72), --主鍵 
@pageSize int,  --每頁(yè)的行數(shù)@pageNumber int, --第幾頁(yè) 
@filter varChar(2000)='', --過(guò)濾,where后頭的語(yǔ)句 
@order varChar(200)='' --排序方式AS 
BEGIN 
DECLARE @sqlText AS nvarchar(4000) 
DECLARE @sqlTable AS nvarchar(4000) 
DECLARE @sqlText_PageCount  AS nvarchar(4000) 

set @filter=replace(@filter,'#','''') 

--這是最后一次所發(fā)現(xiàn)的bug,因?yàn)樵谂判蛑斜仨毚_定一個(gè)排出來(lái)的位置一樣的table,不能讓a在這次排第2,那次又排第5 
if CharIndex(@keyField,@order)=0 
Begin 
Set @order=@order+','+@keyField 
End 

if (Rtrim(@filter)='') 
begin 
SET @sqlTable = 'SELECT TOP ' + CAST((@pageNumber + 1) * @pageSize AS varchar(30)) + ' ' + @queryStr + ' ' + @order 
SET @sqlText_PageCount = 'Select Count(*) from (select ' +@queryStr+ ' ) as Table_temp' 
end 
else 
begin 
SET @sqlTable = 'SELECT TOP ' + CAST((@pageNumber + 1) * @pageSize AS varchar(30)) + ' ' + @queryStr + ' and ' + @filter + @order 
SET @sqlText_PageCount = 'Select Count(*) AS MyCount from (select ' +@queryStr+ ' and ' + @filter +' ) as Table_temp' 
end 
--譬如現(xiàn)在要第5頁(yè)數(shù)據(jù),每頁(yè)是16行,那么現(xiàn)在要的數(shù)據(jù)就是在前80行,并且不在原來(lái)的64行內(nèi)的 
SET @sqlText = 
'SELECT TOP ' + CAST(@pageSize AS varchar(30)) + ' * ' +  
'FROM (' + @sqlTable + ') AS tableA ' + 
'WHERE ' + @keyField + ' NOT IN(SELECT TOP ' + 
CAST(@pageNumber * @pageSize AS varchar(30)) + ' ' + @keyField +  
' FROM (' + @sqlTable + ') AS tableB)' 

EXEC (@sqlText) 

exec (@sqlText_PageCount) 

END 

GO

相關(guān)文章

最新評(píng)論

克东县| 辽中县| 皮山县| 维西| 大石桥市| 拉孜县| 扎兰屯市| 辽中县| 苏尼特右旗| 佛坪县| 灵石县| 芷江| 琼中| 洛隆县| 邹平县| 海伦市| 迁西县| 威宁| 西昌市| 沂南县| 多伦县| 家居| 梁平县| 澄迈县| 饶阳县| 玛沁县| 利辛县| 秦安县| 广东省| 西盟| 哈尔滨市| 临潭县| 钦州市| 繁峙县| 永修县| 苏尼特右旗| 巴林右旗| 清水河县| 建阳市| 上杭县| 革吉县|