Asp. Net ve MSSQL ile yaptığınız çalışmalarınızda uzun veriler içeren uygulamalarda gelişmiş sayfalama sistemi rneğimiz. Sitil betiklerimiz body . kapsul / Tablo / . tablo . tablo th . tablo tr:hover . tablo td . tablo td a . tablo td a:hover / Tablo / . ontedi / Sayfalama / . sayfalama_kapsul . sayfalama_kapsul a . sayfalama_kapsul a:hover . sayfalama_kapsul a. secili / Sayfalama / / Kütüphane / . cb / Kütüphane / Urunler.aspx dosyamızın içeriği <div class="kapsul"> <asp:Repeater ID="rptListele" runat="server"> <HeaderTemplate> <table class="tablo"> <thead> <tr> <th>ID</th> <th>Başlık</th> <th>Tarih</th> <th>Durum</th> <th>İşlem</th> </tr> </thead> <tbody> </HeaderTemplate> <ItemTemplate> <tr> <td><%#Eval %></td> <td><%#Eval %></td> <td><%#fnTarih(Eval . ToString , true)%></td> <td><%#fnOnayli_Onaysiz(Eval . ToString %></td> <td><a href="?islem=urun_duzenle&urun_ID=<%#Eval %>">Düzenle</a></td> </tr> </ItemTemplate> <FooterTemplate> </tbody> </table> </FooterTemplate> </asp:Repeater> <asp:Literal ID="ltrSayfalama" runat="server"></asp:Literal> <div class="cb"></div> <a class="ontedi">www.ontedi.com</a> </div> Urunler.aspx. cs dosyamızın içeriği using System; using System. Collections. Generic; using System. Web; using System. Web. UI; using System. Web. UI. WebControls; using System. Text. RegularExpressions; using System. Configuration; using System. Data. SqlClient; public partial class Urunler : System. Web. UI. Page { protected void Page_Load public Int32 parAdet = 8; private void fnUrunler { String strSQL_Kriter = "WHERE durum = 1"; String strKelime = Request. QueryString ; strKelime = fnTemizle ; if (String. IsNullOrEmpty false) Int32 intGecerli_Sayfa = 1; String strGecerli_Sayfa = Request. QueryString ; if (fnSayisal_Mi true) Int32 intGosterim_Adeti = parAdet; Int32 intToplam_Kayit = fnToplam_Kayit ; Int32 intBaslangic_Degeri = (intGecerli_Sayfa - 1) intGosterim_Adeti; Int32 intBitis_Degeri = intGecerli_Sayfa intGosterim_Adeti; ltrSayfalama. Text = fnSayfalama ; SqlConnection bag = fnMssql ; SqlCommand cmdSQL = new SqlCommand("SELECT urun_ID, kategori_ID, urun_kodu, baslik, tarih, durum FROM (SELECT row_number over AS satir, FROM tblUrunler " + strSQL_Kriter + ") AS tblTablo WHERE tblTablo. satir > " + intBaslangic_Degeri + " AND tblTablo. satir <= " + intBitis_Degeri + " order by urun_ID ASC", bag); bag. Open ; rptListele. DataSource = cmdSQL. ExecuteReader ; rptListele. DataBind ; cmdSQL. Dispose ; bag. Close ; bag. Dispose ; } public SqlConnection fnMssql public String fnTemizle { if (String. IsNullOrEmpty false) return parVeri; } public Boolean fnSayisal_Mi { Boolean blnDonen_Deger = false; if (String. IsNullOrEmpty true) else return blnDonen_Deger; } public String fnSayfalama(String parAdres_Satiri, Int32 parGecerli_Sayfa, Int32 parToplam_Icerik) { Int32 intSayfa_Alt_Siniri; Int32 intSayfa_Ust_Siniri; Int32 intSol_Grup_Sayisi; Int32 intSag_Alt_Sinir; float fltSayfa_Sayisi = parToplam_Icerik / parAdet; Int32 intSayfa_Sayisi = (Int32)parToplam_Icerik / parAdet; String strSayfa_Sayisi = fltSayfa_Sayisi. ToString ; if (strSayfa_Sayisi. IndexOf(",", 0) > -1 || strSayfa_Sayisi. IndexOf(".", 0) > -1) String strDonen_Deger = "<div class=\"sayfalama_kapsul\">"; if { Int32 intSayfa_Araligi = 2; intSayfa_Alt_Siniri = parGecerli_Sayfa - intSayfa_Araligi; intSayfa_Ust_Siniri = parGecerli_Sayfa + intSayfa_Araligi; intSol_Grup_Sayisi = 1 + intSayfa_Araligi; intSag_Alt_Sinir = intSayfa_Sayisi - intSayfa_Araligi; //Adım 1 if //Adım 2 if (intSayfa_Alt_Siniri <= 0) { intSayfa_Alt_Siniri = 1; intSayfa_Ust_Siniri = intSayfa_Alt_Siniri + (2 intSayfa_Araligi); if } //Adım 3 if //Adım 4 if //Adım 5 if (parGecerli_Sayfa > 1) //Adım 6 for (Int32 i = 1; i < intSol_Grup_Sayisi + 1; i++) { if else } //Adım 7 if (intSayfa_Alt_Siniri - intSol_Grup_Sayisi > 1) //Adım 8 for (Int32 i = intSayfa_Alt_Siniri; i < intSayfa_Ust_Siniri + 1; i++) { if else } //Adım 9 if (intSag_Alt_Sinir - intSayfa_Ust_Siniri > 1) //Adım 10 for (Int32 i = intSag_Alt_Sinir; i < intSayfa_Sayisi + 1; i++) { if else } //Adım 11 if } strDonen_Deger += "</div>"; return strDonen_Deger; } public Int32 fnToplam_Kayit { Int32 intDonen_Deger = 0; if (String. IsNullOrEmpty false) { if (String. IsNullOrEmpty false) { SqlConnection bag = fnMssql ; SqlCommand cmdSQL = new SqlCommand("SELECT Count AS T FROM " + parTablo + " " + parKriter + "", bag); bag. Open ; SqlDataReader drSQL = cmdSQL. ExecuteReader ; if { drSQL. Read ; { String strToplam = drSQL . ToString ; if (fnSayisal_Mi true) } } else drSQL. Dispose ; cmdSQL. Dispose ; bag. Close ; bag. Dispose ; } } return intDonen_Deger; } public String fnTarih { String strDonen_Deger = ""; try { String arrAylar = ; String arrGunler = ; DateTime dtmTarih = DateTime. Parse ; String strTarih = dtmTarih. ToString ; Int32 intYil = dtmTarih. Year; String strYil = intYil. ToString ; Int32 intAy = dtmTarih. Month; String strAy = arrAylar ; Int32 intGun = dtmTarih. Day; String strGun = intGun. ToString ; String strZaman = dtmTarih. ToShortTimeString ; Int32 intHaftanin_Gunu = (Int32)dtmTarih. Date. DayOfWeek; String strGun_Adi = arrGunler ; strDonen_Deger = strGun + " " + strAy + " " + strYil + " " + strGun_Adi; if } catch return strDonen_Deger; } public String fnOnayli_Onaysiz { String strDonen_Deger = ""; if if return strDonen_Deger; } } mutfakDB adlı veritabanında tblUrunler adlı tablomuzun tsql kodları CREATE TABLE tblUrunler ( int PRIMARY KEY NOT NULL IDENTITY(1,1), nvarchar(255), nvarchar , nvarchar , datetime NULL DEFAULT getdate , int NULL DEFAULT 0, int DEFAULT 0, bit NULL DEFAULT 0 ) web. config dosyasının içeriği <?xml version="1.0"?> <configuration> <connectionStrings> <add name="mssqlDB" connectionString="Data Source=localhost;Initial Catalog=mutfakDB;User ID=sa;Password=1234" providerName="System. Data. SqlClient"/> </connectionStrings> <system. web> <customErrors mode="Off"/> <compilation debug="true" targetFramework="4.0"> <assemblies> <add assembly="System. Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/> </assemblies> </compilation> <httpRuntime requestValidationMode="2.0"/> </system. web> <system. webServer> <staticContent> <mimeMap fileExtension=". coffee" mimeType="coffeescript"/> <mimeMap fileExtension=". woff" mimeType="application/x-font-woff"/> </staticContent> </system. webServer> </configuration> Projemizin grünümü Bol sayfalamalı günler :) http://www.ontedi.com/aspnet/aspnet-mssql-verilerini-gelismis-sayfalama-ornegi Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.

Entity ile uğraşmışlığım yok, kendimce kütüphane oluşturdum ve yaptığım uygulama/sitelerde kütüphanemi kullanıp hızlı ve performanslı çzümler üretmeye çalışıyorum. SQL Parametre olayı birgün sorun çıkarmıştı, o yüzden kullanmadım. Zaten gelen değerleri filtreden geçiriyorum. İlginize teşekkürler. ontedi tarafından 01/Haz/14 20:15 tarihinde düzenlenmiştir Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.

Seni dverim hocam. Adres ver evine bomba atalım. Parmaklarını kesip birdaha kod yazdırmam! Tabi işin şakası ama çok sinirlendim hocam. Neden SQL Parameter kullanmıyorsun? herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri ğrenmeye çalışmayın. yabancı dil filan ğrenin amq.// s. kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//

eline sağlık hocam entity frameworkle veri basmak yerine ilkel olan bu yontem performans açısından çok daha iyi bence