My Blog

ASP ile MS Access verilerini sayfalama

ASP ile MS Access verilerini sayfalama – Alıntı

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 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

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.EOFThen
´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
%>

<table border“1” bordercolor=“#C0C0C0” style=“border-collapse:collapse; font:normal normal normal 11px verdana;” width=“500”>
  <tr>
<td
width=“5” bgcolor=“#FFFBDF”><b>S</b></td>
  <td width=“245” bgcolor=“#FFFBDF”><b>Site Adı</b></td>
  <td width=“250” bgcolor=“#FFFBDF”><b>URL</b></td>
</tr>

Ş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.EOFAnd i<Rs.PageSize
%>

<tr>
<td
align=“center”><%=i+1%></td>
<td><b><%=Rs(“fldSiteAdi”)%></b></td>
<td><a href=<%=Rs(“fldURL”)%> style=“color:#0000FF” target=“_blank”><%=Rs(“fldURL”)%></a></td>
</tr>
<%
i=i+1
Rs.
MoveNext
Loop
%>

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

 

  <tr>
<td
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 “<a href=””?s=” & s & “””>” & s & “</a> “
Next
End If

%>
</td>
</tr>
</table>

<%
´ 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”
  1. Rs.Open SQL, Bag, 1, 3
  2. If Not Rs.EOFThen
  3.   ´Bir sayfada gösterilecek kayıt sayısını belirliyoruz
  4.   Rs.PageSize = 2
  5.   ´Eğer QueryString´de sayfa değişkeni tanımlanmışsa
  6.   If Request.QueryString(“s”) <>“”Then
  7.     ´Bulunduğumuz sayfayı bu değişkenin değeri olarak atayalım
  8.     Sayfa = CInt(Request.QueryString(“s”))
  9.   Else
  10.     ´Değilse başlangıç sayfa numaramızı 1 olarak atayalım
  11.     Sayfa = 1
  12.   End If
  13.   ´ ve Kayıtsetimize hangi sayfada bulunduğumuzu söyleyelim.
  14.   Rs.AbsolutePage = Sayfa
    %>
  15. <table border“1” bordercolor=“#C0C0C0” style=“border-collapse:collapse; font:normal normal normal 11px verdana;” width=“500”>
  16.   <tr>
  17.   <td width=“5” bgcolor=“#FFFBDF”><b>S</b></td>
  18.   <td width=“245” bgcolor=“#FFFBDF”><b>Site Adı</b></td>
  19.   <td width=“250” bgcolor=“#FFFBDF”><b>URL</b></td>
  20.   </tr>
  21. <%
    i=0
    ´Kayıtsetimizi bir sayfada gösterilecek kayıt sayısı adedince döndürelim.
  22.   Do While Not Rs.EOFAnd i<Rs.PageSize
  23. %>
  24.   <tr>
  25.   <td align=“center”><%=i+1%></td>
  26.   <td><b><%=Rs(“fldSiteAdi”)%></b></td>
  27.   <td><a href=<%=Rs(“fldURL”)%> style=“color:#0000FF” target=“_blank”><%=Rs(“fldURL”)%></a></td>
  28.   </tr>
  29. <%
  30.   i=i+1
  31.   Rs.MoveNext
  32. Loop
  33. %>
  34. <tr>
  35.   <td colspan=“3” align=“right”>
  36. <%
  37.   ´ ve son olarak ta sayfaların linklerini sayfamıza bastıralım.
  38.   If Rs.PageCount > 0 Then
  39.     For s=1 To Rs.PageCount
  40.       Response.Write “<a href=””?s=” & s & “””>” & s & “</a> “
  41.     Next
  42.   End If
  43. %>
  44.   </td>
  45.   </tr>
  46. </table>
  47. <%
  48.   ´ Bitti, hayırlı olsun…
  49. End If
  50. %>

 

adminASP ile MS Access verilerini sayfalama

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir