Asp Sql Sayfalama Sorunu?
-
Arkadaşlar asp ile verileri yazdırırken sayfaya boluyorum her sayfada 10 veri yazdırıyorum recordset ile yapılıyor tabi bu bilgiğiniz üzere tabi hit artınca dogal olarak bir aşırı ıkınma söz konusu oluyor benim istedigim mesala 1.sayfadayım sadece veritabanından ilk 10 veriyi çeksin 2. sayfadayım sonraki 10 veriyi çeksin boylece performans kazanmış olurum ama nasıl yapabilirim bir türlü aklıma gelmedi ? rene hocam tbtde reocrdset kullanıyomus ama prosödür ile yapıyorum dedi ama bir türlü çözemedim
-
sql'de limit olayıan bak sorgulardaki. prosedure'de stored procedurdür fakat shared hostlarda kullandırırlarmı bilmem.
-
aga döngü oluştur 10 tane okut sonra yazdır.sonra son yazdırdığının id sini tut gene döngüye sok.böylece onar onar bi yazmayı dene derim ama olur mu bilmem sadece bi düşünce
-
ssemih bunu yazdı:
-----------------------------
aga döngü oluştur 10 tane okut sonra yazdır.sonra son yazdırdığının id sini tut gene döngüye sok.böylece onar onar bi yazmayı dene derim ama olur mu bilmem sadece bi düşünce
-----------------------------pek sanmam hocam yine performans kaybı olur bence rene hocamın dedigi gibi yapıyım eger sirket prosodure izin verirse
-
edit : yanlış anlamışım
-
<%
Set rec = Baglanti.Execute("select * from Tablo_Ad ORDER BY tarih desc")
Set rsNum = Baglanti.Execute("select Count(id) As Toplam from Tablo_Ad")
KacSayfa = 10 ' Bir sayfada kaç kayıt olmasını istiyorsan
iKayitSayisi = rsNum("Toplam")
iSayfa = Request.QueryString("Sayfa")
If iSayfa = "" Then iSayfa = 1
iBaslangic = (iSayfa*KacSayfa)-KacSayfa
iToplamSayfa = (iKayitSayisi/KacSayfa)
If Not iKayitSayisi = Fix(iToplamSayfa)*KacSayfa Then iToplamSayfa = Fix(iToplamSayfa)+1
If Not rsNum("Toplam") = 0 Then
For i=1 to KacSayfa
If rec.Eof Then Exit For
%>döngüye girecek kodlar (sayfalanmasını istediğin)<%rec.MoveNextNextend ifrec.closeSet rec = nothing%>Bundan sonraki kodlarda sayfa sayısını vericek<%
If iToplamSayfa > 1 ThenResponse.Write "Sayfalar : "For i = 1 to iToplamSayfaResponse.Write "<a href='?Sayfa="&i&"'>"&i&" </a>"NextEnd If%>umarım işini görür ;) :) -
ben kullanıyorum herhangi bir kasma olmuyor :) hatayı başka satırlarda ara derim. yok illa yapıcam diyorsan şöyle yap mesela.
--------------------
x.asp?sayfa=2
ise
-------
sayfa=request.querystring("sayfa")
sayfabasikackayit=10
limitdegeri=sayfabasikackayit*sayfa
sql="select * from x_table limit "&limitdegeri&","&sayfabasikackayit
--------------------
denemedim sadece mantık yürüttüm, güvenlik kısmını hiç kurcalamadım bile :D mantık olarak çalışması gerek :)
-
hocam verdiğim kodları kullan access mysql hiç farketmeden ikisindede tıkır tıkır :)
