// // Membuat paging dari suatu query di SQL Server (bisa juga yg menggunakan join dan melibatkan tabel lain) - Geeks Portal

Membuat paging dari suatu query di SQL Server (bisa juga yg menggunakan join dan melibatkan tabel lain)

Last post 02-08-2009 11:55 by sonny210183. 0 replies.
Page 1 of 1 (1 items)
Sort Posts: Previous Next
  • 02-08-2009 11:55

    Membuat paging dari suatu query di SQL Server (bisa juga yg menggunakan join dan melibatkan tabel lain)

     

    Misalnya saya memiliki query

    Select colA1, colA2, colA3 from tabelA

    Untuk dibuat paging, harus dipilih suatu kolom untuk dasar pengurutannya (misalkan colA1) maka menjadi

          With PagingList as

          (SELECT ROW_NUMBER() OVER (ORDER BY List.colA1 ASC

          ) as [Number],[List].* FROM

          (Select colA1, colA2, colA3 from tabelA

    ) as List

          )

          Select colA1, colA2, colA3 from PagingList

          where [Number] between #range1# and #range2#

    Jika melibatkan tabel lain juga bisa, bentuknya menjadi seperti ini: (misalkan dasar urut berdasarkan colA1)

    With PagingList as (ROW_NUMBER() OVER (ORDER BY List.colA1 ASC

    ) as [Number], [List].* from

    ( select colA1, colB1, colC1 from tabelA,tabelB,tabelC where colA2=colB2 and colB3=colC2

    ) as Gabungan

    Select colA1, colB1, colC1 from Gabungan

    Nah #range1# dan #range2# nanti diisi dengan angka, misalkan kita ingin menampilkan record dari row 1 sampai 10, 11 sampai 20, 21 sampai 30. #range1# dan #range2# disini akan menjadi parameter nantinya di SQL. Dalam paging kita mengenal yg namanya pageindex dan pagesize. Row 1 sampai 10 pageindex-nya adalah 1 (halaman pertama) dan pagesizenya=10.

    Nilai pagepointer (disebut pageindex) dan pagesize akan dikirim melalui parameter, untuk menentukannya, maka coding di C#-nya menjadi:

                int range1, range2;

                range1 = ((pagepointer - 1) * pagesize) + 1;

                range2 = (pagepointer * pagesize);

    • Post Points: 5
Page 1 of 1 (1 items)