當前位置:編程學習大全網 - 源碼下載 - gridview如何實現分頁功能?

gridview如何實現分頁功能?

方法壹

選擇不同的前8個類別ID

來自tbl_Product_Products

其中(UserID = 73)和(CategoryID & gt

(選擇最大值(類別id)

從(選擇不同的TOP 16類別id

從tbl_product_products開始,其中userid=73

按類別排序)作為b))

按類別排序

-方法2

從[訂單詳情]中選擇top 10 *

其中orderid & gt全部(從[訂單詳細信息] order by orderid中選擇top 10 orderid)

按訂單id排序

以下是來自CSDN的。

SQL Server存儲過程分頁已經討論了好幾年了,很多朋友都在問我,在此發表壹下自己的看法。

創建表格:

創建表[測試表](

[ID] [int] IDENTITY (1,1)不為空,

[first name][nvarchar](100)整理Chinese_PRC_CI_AS NULL,

[姓氏][nvarchar](100)COLLATE Chinese _ PRC _ CI _ AS NULL,

[Country] [nvarchar] (50)整理中文_PRC_CI_AS NULL,

[註] [nvarchar] (2000)整理中文_PRC_CI_AS NULL

)開[主]

插入數據:(2萬,用更多數據測試會更明顯)

在上設置IDENTITY_INSERT TestTable

聲明@i int

set @i=1

而@ i & lt=20000

開始

插入到TestTable([id],名字,姓氏,國家,註釋)值(@i,'名字_XXX ','姓氏_XXX ','國家_XXX ','註釋_XXX ')

set @i=@i+1

結束

將IDENTITY_INSERT TestTable設置為OFF

-

尋呼方案1:(尋呼時不在並選擇頂部)

聲明形式:

選擇TOP 10 *

從測試表

我不在

(選擇前20個id

從測試表

按id排序))

按ID排序

選擇頂部頁面尺寸*

從測試表

我不在

(選擇頂部頁面尺寸*頁面id。

來自表格

按id排序))

按ID排序

-

尋呼方案2:(通過使用ID大於多少並選擇頂部來尋呼)

聲明形式:

選擇TOP 10 *

從測試表

其中(ID & gt

(選擇最大值(id)

從(選擇前20個id

從測試表

按id排序)作為T))

按ID排序

選擇頂部頁面尺寸*

從測試表

其中(ID & gt

(選擇最大值(id)

從(選擇頂部頁面尺寸*頁面id

來自表格

按id排序)作為T))

按ID排序

-

分頁方案3:(使用SQL遊標存儲過程分頁)

創建過程小正格

@ sqlstrnvarchar (4000),-查詢字符串

@ currentpageint,-第n頁

@ pagesizeint-每頁行數

如同

設置nocount on

聲明@P1 int,- P1-p1是遊標的id。

@rowcount int

exec sp _ cursor open @ p 1 output,@sqlstr,@scrollopt=1,@ccopt=1,@rowcount=@rowcount output

選擇ceiling(1.0 * @ rowcount/@ pagesize)作為總頁數-,@ rowcount作為總行數,@currentpage作為當前頁。

set @ current page =(@ current page-1)* @ pagesize+1

exec sp_cursorfetch @P1,16,@currentpage,@pagesize

exec sp_cursorclose @P1

設置nocount關閉

其他方案:如果沒有主鍵,可以用臨時表或者方案三,但是效率會低。

建議優化時,增加主鍵和索引會提高查詢效率。

通過SQL查詢分析器,比較顯示出來:我的結論是:

分頁方案二:(使用ID大於what和SELECT TOP分頁)效率最高,需要拼接SQL語句。

分頁方案壹:(用Not In和SELECT TOP分頁)效率較低,需要拼接SQL語句。

分頁方案3(使用SQL遊標存儲過程分頁)效率最低,但最常用。

實際情況,要具體分析。

  • 上一篇:詳解如何使用webpack打包多頁jquery項目
  • 下一篇:股票的量比是什麽意思 高了好還是低了好?
  • copyright 2024編程學習大全網