close

在VS 2008中,有提供DataPager控制項,可以用來對查詢到的資料做分頁,但它畢竟是視覺化的控制項,如果只是後端單純的要處理資料,這東西還是沒辦法直接用,所以這篇文章的主題就在如何自己實作分頁。

首先,新增一個Web專案。

2008-08-01_171638

然後新增下列控制項:

  1. TextBox,命名為sqlpagerTextBox
  2. Button,命名為sqlpagerBtn
  3. GridView,命名為sqlpagerGridView

2008-08-01_172920

之後,再新增一個DataSet。

2008-08-01_172951

事先新增好一個資料表,然後再從伺服器總管推曳到DataSet,欄位如下。

2008-08-01_173047

接下來,打開SQL Server Management,來測試下面的語法。

首先,是TOP語法。

2008-08-01_192327

上面的語法的意思是只抓前面二筆資料,查詢結果如下。

2008-08-01_192407

在這邊,可以思考一下,如果我現在要的是第三跟第四筆資料,那上面的語法該如何修改。假如把第一跟第二筆剔除掉,再執行剛剛的語法,那是不是就可以抓到想要的資料。接下來試著把語法修改一下。

2008-08-01_192904

「SELECT TOP (1 * 2) id」裡的1 * 2,把1想成是頁數減1,2則是資料的筆數。也就是我要顯示第二頁的資料,所以要剔除掉第一頁的資料,這一頁包含第一筆跟第二筆的資料,而查詢的結果如下。

2008-08-01_192930

之後,再把這個語法稍做修改,新增到DataAdapter。注意下面的兩個參數,pagesize以及index。

2008-08-01_193250

查詢的方法命名為GetDataByPageNum。

2008-08-01_193310

然後雙擊Default.aspx上的Button,新增下列程式碼。

2008-08-01_193655

然後執行程式,輸入1,就會顯示第2頁也就是第三第四筆資料。當然,也可以將參數自行扣掉1,看起來會比較直覺點。

2008-08-01_193728

參考資料
http://blog.miniasp.com/post/2007/12/Paging-using-simple-T-SQL-in-SQL-Server.aspx

arrow
arrow
    全站熱搜

    卑微研究生 發表在 痞客邦 留言(0) 人氣()