Asp Sayfalama Sorunu
-
1_)
şimdi asp de MSSQL server kullanuyorum ama execute ile sayfalama işlemi yapamıyorum hata alıyorum birtek recordset ile yapabiliyorum bu bildiginiz gidi performans düşüşüne neden olur tahribatta execute ile yapılıyor bildigim kadarı ile yardımcı olursanız cok sevinirim
2-)
Aspda mesela banlı uyeler var her sabah otomatik bu banlar belli bir saatte kalksın istiyorum nasıl yapabilirim serverimin yonetim panelinin otomatik işler bolumu yok ondan ordan yapamıyorum help me
-
tahribat sayfalamayı recordset ile yapıyor...
-
renegadealien bunu yazdı:
-----------------------------
tahribat sayfalamayı recordset ile yapıyor...
-----------------------------
2.sorunun cevabını pm ile rene hocamdan aldım ona gerk kalmadı record set ile performans düşmez yane deme ? -
sayfalama için şunu deneyebilir misin aceleyle yaptım bişeyler denemedim hiç
'---------------------
' verileri almaca
'---------------------
Set rs=baglanti.execute("select COUNT(id) AS id FROM tablo order by id desc")
toplamkayit=rs("id")
rs.close
'--
sayfalamasayisi=10
toplamsayfa=Int(toplamkayit/cint(sayfalamasayisi))
Kalansayfa=(toplamkayit Mod cint(sayfalamasayisi))
if Kalansayfa>0 and toplamsayfa>0 Then
toplamsayfa=toplamsayfa+1
End if
'--
if Request("sayfa")="" Then
sayfa=1
kayitbas=0
else
sayfa=Cint(Request("sayfa"))
kayitbas=((Sayfa-1)*cint(sayfalamasayisi))
End if
'---------------------
'Yazdırmaca
'---------------------
Set rs=baglanti.execute("select * FROM tablo order by id desc")
if rs.eof Then
response.write "Kayıt yok"
else
rs.Move=kayitbas
For zz= 1 to cint(sayfalamasayisi)
'buraya yazdırma işlemleri gelecek
rs.MoveNext
if rs.eof Then exit For
Next
'---------------------
'Sayfalamaca
'---------------------
if toplamsayfa>1 Then
for gg=1 to toplamsayfa
if gg=Sayfa Then
response.Write gg
else
response.write "<a href=""sayfa.asp?sayfa="&gg&""">"&gg&"</a>"
End if
Next
End if
End if
'---------------------
rs.close
Set rs=Nothing
'---------------------2. söylediğine gelirsek
if hour(now())="12" then
baglanti.Execute("update tablo set ban='0'") 'veya' baglanti.Execute("delete from bantablo")
end if
12 yerine istediğin saati yazabilirsin. serverinin tarih saat formatına göre sabah saat 8 için 8 veya 08 yazacaksın gece saat 11 için 23 veya 11 yazacaksın gibi..unutmadan sayfalama işlemi yaparken countla aldım ancak bu performansı düşürür gibime geliyor. requestle gelen sayfa numarasına göre yapılırsa sanırım daha mantıklı olur. ama sen yine de bir dene.
-
pesimistzombie bunu yazdı:
-----------------------------sayfalama için şunu deneyebilir misin aceleyle yaptım bişeyler denemedim hiç
'---------------------
' verileri almaca
'---------------------
Set rs=baglanti.execute("select COUNT(id) AS id FROM tablo order by id desc")
toplamkayit=rs("id")
rs.close
'--
sayfalamasayisi=10
toplamsayfa=Int(toplamkayit/cint(sayfalamasayisi))
Kalansayfa=(toplamkayit Mod cint(sayfalamasayisi))
if Kalansayfa>0 and toplamsayfa>0 Then
toplamsayfa=toplamsayfa+1
End if
'--
if Request("sayfa")="" Then
sayfa=1
kayitbas=0
else
sayfa=Cint(Request("sayfa"))
kayitbas=((Sayfa-1)*cint(sayfalamasayisi))
End if
'---------------------
'Yazdırmaca
'---------------------
Set rs=baglanti.execute("select * FROM tablo order by id desc")
if rs.eof Then
response.write "Kayıt yok"
else
rs.Move=kayitbas
For zz= 1 to cint(sayfalamasayisi)
'buraya yazdırma işlemleri gelecek
rs.MoveNext
if rs.eof Then exit For
Next
'---------------------
'Sayfalamaca
'---------------------
if toplamsayfa>1 Then
for gg=1 to toplamsayfa
if gg=Sayfa Then
response.Write gg
else
response.write ""&gg&""
End if
Next
End if
End if
'---------------------
rs.close
Set rs=Nothing
'---------------------2. söylediğine gelirsek
if hour(now())="12" then
baglanti.Execute("update tablo set ban='0'") 'veya' baglanti.Execute("delete from bantablo")
end if
12 yerine istediğin saati yazabilirsin. serverinin tarih saat formatına göre sabah saat 8 için 8 veya 08 yazacaksın gece saat 11 için 23 veya 11 yazacaksın gibi..unutmadan sayfalama işlemi yaparken countla aldım ancak bu performansı düşürür gibime geliyor. requestle gelen sayfa numarasına göre yapılırsa sanırım daha mantıklı olur. ama sen yine de bir dene.
-----------------------------
Recordset ile yapcam tmm gerek kalmadı yinede saol amaif hour(now())="12" then
baglanti.Execute("update tablo set ban='0'") 'veya' baglanti.Execute("delete from bantablo")
end if
kodunu yazdım sitede hiç ziyaretci olmamasına tagmen bu kodlar calışmaz diye düşünüom sitede hic ziyaretci olmıcak buna ragmen kod calıssın istiyorum global.asa dan yapabilirmiyim bunu acaba -
sitede hiç üye yokken asp kodu zaten çalışmaz. mssql konusunda pek uzman değilim zamanlanmış görevler varsa ordan sql kodu oluşturarak her gün çalışmasını sağlayabilirsin aksi taktirde if hour(now())="12" then yapacağına if hour(now())>"11" then yaparsın sitene 3 4 de ziyaretçi girse bile kod işler .. zaten sitene üye girmezse ha 12 de açmışın ha üye girdiği anda ne farkedecek :)
-
pesimistzombie bunu yazdı:
-----------------------------
sitede hiç üye yokken asp kodu zaten çalışmaz. mssql konusunda pek uzman değilim zamanlanmış görevler varsa ordan sql kodu oluşturarak her gün çalışmasını sağlayabilirsin aksi taktirde if hour(now())="12" then yapacağına if hour(now())>"11" then yaparsın sitene 3 4 de ziyaretçi girse bile kod işler .. zaten sitene üye girmezse ha 12 de açmışın ha üye girdiği anda ne farkedecek :)
-----------------------------
tmm saol
