ASP ile MS Access Verilerini Sayfalama

ASP ile MS Access Verilerini Sayfalama MS Access veritabanından gelen verileri sayfalamak, MySQL veritabanına oranla çok daha basittir. Bu basitliğin nedeni Recordset nesnesi tarafından desteklenmesinden kaynaklanmaktadır. Bu yazımda sizlere MS Access vertabanından gelen verileri, Recordset nesnesini kullanarak sayfalama konusundan bahsedeceğim. Aşağıdaki kodlardan faydalanmak için sniper.mdb.zip dosyasını indirip kodlarla aynı dizine eklemeniz gerekmektedir. Lafı fazla uzatmadan hemen kodlara giriyorum.

Öncelikle her zaman olduğu gibi değişkenlerimizi tanımlıyoruz, bağlantı ve Recordset nesnemizi açarak sayfalamak istediğimiz verilerimizi çekiyoruz:

Option ExplicitDim Bag, Rs, i, s, Sayfa, SQLSet Bag = Server.CreateObject("ADODB.Connection")Set Rs = Server.CreateObject("ADODB.Recordset")Bag.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("sniper.mdb")SQL = "SELECT * FROM tblSiteler"Rs.Open SQL, Bag, 1, 3

Bağlantımızı açtıktan sonra kayıt setimizden veri dönüp dönmediğini kontrol etmeliyiz. Bu sayfalama kodunda kullanacağımız Recordset nesnesinin AbsolutePage özelliğinin hata vermemesi için önemlidir. AbsolutePage özelliği, kayıtsetine hangi sayfada olduğumuzu söyleyen kontrolümüzdür. Kontrolümüzü yaptıktan sonra nesnemizin PageSize özelliğiyle bir sayfada görüntülenecek kayıt sayısını belirleyip tablomuzu sayfamıza çizdiriyoruz.

If Not Rs.EOF Then  ´Bir sayfada gösterilecek kayıt sayısını belirliyoruz  Rs.PageSize = 2  ´Eğer QueryString´de sayfa değişkeni tanımlanmışsa  If Request.QueryString("s") "" Then    ´Bulunduğumuz sayfayı bu değişkenin değeri olarak atayalım    Sayfa = CInt(Request.QueryString("s"))  Else    ´Değilse başlangıç sayfa numaramızı 1 olarak atayalım    Sayfa = 1  End If  ´ ve Kayıtsetimize hangi sayfada bulunduğumuzu söyleyelim.  Rs.AbsolutePage = Sayfa%>border"1" bordercolor="#C0C0C0" style="border-collapse:collapse; font:normal normal normal 11px verdana;" width="500">    width="5" bgcolor="#FFFBDF">S  width="245" bgcolor="#FFFBDF">Site Adı  width="250" bgcolor="#FFFBDF">URL 

Şimdi elimizdekileri verileri, bir sayfada gösterilecek kayıt sayısınca sayfamıza bastıracak olan döngümüzü yazıyoruz:

  i=0  ´Kayıtsetimizi bir sayfada gösterilecek kayıt sayısı adedince döndürelim.  Do While Not Rs.EOF And iPageSize%>    align="center">  "fldSiteAdi")%>  href=""fldURL")%>" style="color:#0000FF" target="_blank">"fldURL")%>    i=i+1  Rs.MoveNextLoop%>

Veriler istediğimiz sayıda sayfaya yazıldı. Şimdi sıra sayfa numaralarını linklendirmeye geldi:

    colspan="3" align="right">  ´ ve son olarak ta sayfaların linklerini sayfamıza bastıralım.  If Rs.PageCount > 0 Then    For s=1 To Rs.PageCount      Response.Write " & s & """>" & s & " "    Next  End If%>      ´ Bitti, hayırlı olsun...End If%>

Ms Access ile sayfalama işlemi bu kadar basit. Kaliteli sitelerde kullanmanız dileğinde bulunduktan sonra yazımı kodların tamamıyla kapatıyorum...

Option Explicit Dim Bag, Rs, i, s, Sayfa, SQL Set Bag = Server.CreateObject("ADODB.Connection") Set Rs = Server.CreateObject("ADODB.Recordset") Bag.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("sniper.mdb") SQL = "SELECT * FROM tblSiteler" Rs.Open SQL, Bag, 1, 3 If Not Rs.EOF Then   ´Bir sayfada gösterilecek kayıt sayısını belirliyoruz   Rs.PageSize = 2   ´Eğer QueryString´de sayfa değişkeni tanımlanmışsa   If Request.QueryString("s") "" Then     ´Bulunduğumuz sayfayı bu değişkenin değeri olarak atayalım     Sayfa = CInt(Request.QueryString("s"))   Else     ´Değilse başlangıç sayfa numaramızı 1 olarak atayalım     Sayfa = 1   End If   ´ ve Kayıtsetimize hangi sayfada bulunduğumuzu söyleyelim.   Rs.AbsolutePage = Sayfa%>border"1" bordercolor="#C0C0C0" style="border-collapse:collapse; font:normal normal normal 11px verdana;" width="500">     width="5" bgcolor="#FFFBDF">S  width="245" bgcolor="#FFFBDF">Site Adı   width="250" bgcolor="#FFFBDF">URL     i=0  ´Kayıtsetimizi bir sayfada gösterilecek kayıt sayısı adedince döndürelim.   Do While Not Rs.EOF And iPageSize %>    align="center">  "fldSiteAdi")%>  href=""fldURL")%>" style="color:#0000FF" target="_blank">"fldURL")%>  MoveNext Loop %>   colspan="3" align="right">   ´ ve son olarak ta sayfaların linklerini sayfamıza bastıralım.   If Rs.PageCount > 0 Then     For s=1 To Rs.PageCount       Response.Write " & s & """>" & s & " "     Next   End If %>      ´ Bitti, hayırlı olsun... End If %>

Döküman Arama

Başlık :

Kapat