在VS 2008中,有提供DataPager控制項,可以用來對查詢到的資料做分頁,但它畢竟是視覺化的控制項,如果只是後端單純的要處理資料,這東西還是沒辦法直接用,所以這篇文章的主題就在如何自己實作分頁。
首先,新增一個Web專案。
然後新增下列控制項:
- TextBox,命名為sqlpagerTextBox
- Button,命名為sqlpagerBtn
- GridView,命名為sqlpagerGridView
之後,再新增一個DataSet。
事先新增好一個資料表,然後再從伺服器總管推曳到DataSet,欄位如下。
接下來,打開SQL Server Management,來測試下面的語法。
首先,是TOP語法。
上面的語法的意思是只抓前面二筆資料,查詢結果如下。
在這邊,可以思考一下,如果我現在要的是第三跟第四筆資料,那上面的語法該如何修改。假如把第一跟第二筆剔除掉,再執行剛剛的語法,那是不是就可以抓到想要的資料。接下來試著把語法修改一下。
「SELECT TOP (1 * 2) id」裡的1 * 2,把1想成是頁數減1,2則是資料的筆數。也就是我要顯示第二頁的資料,所以要剔除掉第一頁的資料,這一頁包含第一筆跟第二筆的資料,而查詢的結果如下。
之後,再把這個語法稍做修改,新增到DataAdapter。注意下面的兩個參數,pagesize以及index。
查詢的方法命名為GetDataByPageNum。
然後雙擊Default.aspx上的Button,新增下列程式碼。
然後執行程式,輸入1,就會顯示第2頁也就是第三第四筆資料。當然,也可以將參數自行扣掉1,看起來會比較直覺點。
參考資料
http://blog.miniasp.com/post/2007/12/Paging-using-simple-T-SQL-in-SQL-Server.aspx
留言列表