Sayfalı Sorgu İşlevleri – SEO Hizmeti Sunma – SEO Hizmeti – SEO Hizmeti Ücretleri – SEO Hizmeti Yaptırma
Sayfalı Sorgu İşlevleri
Bu işlev, istenen sayfadan veri döndüren bir sorgu oluşturmaktan sorumludur. Aşırı yüklenmiş bir yöntemdir, bu nedenle herhangi bir parametreli veya parametresiz olarak çağırabilirsiniz. GetPagedQuery, hangi veri sayfasının döndürüleceğini belirlemeye yardımcı olan currentPage ve itemsPerPage adlı iki parametre kullanır.
Bunu GetPagedQuery’yi çağırarak ve geçerli sayfayı ve sayfa başına öğeleri parametre olarak geçirerek belirtebilirsiniz veya SqlQuery nesnesinde CurrentPage ve ItemsPerPage özelliklerini ayarlayabilir ve herhangi bir parametre olmadan GetPagedQuery’yi çağırabilirsiniz. Fonksiyonun parametresiz versiyonu sadece parametreli versiyonu çağırır ve özellik değerlerini iletir.
Yöntemdeki ilk birkaç satır, currentPage ve itemsPerPage parametreleri için geçerli değerler olmasını sağlar. Değerlerden biri geçersizse, geçerli bir değer atanır. İsterseniz buraya bir istisna da atabilirsiniz.
GetPagedQuery daha sonra BuildQuery(False,True) çağırır, bu da BuildQuery’ye disk belleğine alınmış bir sorgu döndürmesini söyler ve bu disk belleği sorgusunu PagedQuery değişkeninde saklar. İstenen sayfa ilk sayfaysa, TOP değeri ilk sayfa için doğru miktarda veri döndürdüğü için daha fazla iş yapılması gerekmez.
Ancak sonraki sayfalarda, sonuç kümesinin başında döndürülen gereksiz verileri kesmek için biraz daha fazla çalışma yapılması gerekiyor. Bu verilerden kurtulmak için GetPagedQuery, PagedQuery’deki sorguyu PagedQuery tarafından döndürülen veriler üzerinde çalışan başka bir SELECT ifadesine sarar.
Unutmayın, PagedQuery’deki veriler, sorgu tarafından sıralı sırada döndürülen satırları tanımlayan RowNum adlı bir sütun içerir. Ayrıca, BuildQuery yönteminin, TOP anahtar sözcüğünü kullanarak disk belleğine alınmış bir sorgu için döndürülen veri miktarını sınırladığını unutmayın. Bu nedenle, doğru verileri elde etmek için ikinci SELECT ifadesi yalnızca RowNum değeri _ItemsPerPage *’den yüksek olan satırları seçer.
İşte bir örnek. Bir sorgunun 6. sayfası için veri almaya çalıştığınızı ve sayfa başına 10 öğe gösterdiğinizi varsayalım. Bu, 51-60 satır numaralarını görüntülemeye çalıştığınız anlamına gelir. BuildQuery, yalnızca 60 satır verinin geri gelmesini sağlar, bu nedenle yalnızca 51. satırdan önce gereksiz verilerden kurtulma konusunda endişelenmeniz gerekir.
Böylece, GetPagedQuery tarafından oluşturulan dış SELECT ifadesi, RowNum değerleri 50’den büyük olan satırları seçer. Bu değeri, _ItemsPerPage * (_CurrentPage – 1) = 10 * (6-1) = 10 * 5 = 50 denklemini kullanarak elde edersiniz. Ve işte bu kadar. SqlQuery sınıfının normal ve disk belleğine alınmış sorguları nasıl oluşturduğu. Ardından, kodda SqlQuery sınıfını nasıl kullanacağınızı öğreneceksiniz.
Sorgu Oluşturmak için SqlQuery Nesnesi Kullanma
SqlQuery aracını oluşturmak biraz uğraştırdı, ancak şimdi koddaki SQL sorgularını değiştirmeniz gerektiğinde tüm bu çalışmaların gerçekten nasıl işe yaradığını görebilirsiniz. Bu bölüm, basitten karmaşığa doğru çalışan bir dizi senaryodan geçer ve her senaryo için bir SQL sorgusu oluşturmanıza yardımcı olacak bir SqlQuery nesnesinin nasıl kullanılacağını gösterir. Sorguları kendi başınıza denemek istemeniz durumunda, tablo adları ve sütunlar Northwind örnek veritabanından gelir.
■Not : Kuzey rüzgarı örnek veri tabanını Microsoft web sitesinde bulabilirsiniz. Ne yazık ki, sayfa bağlantısı çoğunlukla rastgele karakterlerden oluşmaktadır ve anlaşılır olmaktan uzaktır. Northwind veritabanını bulmanın en kolay yolu Google’da “Northwind and Pubs Sample Databases” aramaktır. Ayrıca, Apress web sitesinin Kaynak Kodu alanındaki örnek uygulamanın Bağlantılar bölümünde örnek veritabanına bir bağlantı bulabilirsiniz.
Senaryo 1: Basit Bir Sorgu Oluşturma
Değişmeyecek statik sorgular oluşturuyorsanız, sorguyu depolamak için bir SqlQuery nesnesi değil bir String kullanırsınız. Bu örnek, SqlQuery nesnesinin bazı basit özelliklerinin nasıl kullanılacağının yalnızca bir gösterimidir.
Senaryo, kullanıcılarınızın müşteri kimliğini, adını, şehrini, telefon numarasını ve faks numarasını gösteren bir müşteri telefon listesini görmelerini sağlayan bir sorgu oluşturmak istemenizdir. Ayrıca Telefon sütununu PhoneNumber’ı ve Faks sütununu FaxNumber’ı okuyacak şekilde yeniden adlandırmak istiyorsunuz. Listeler, bu senaryonun sorgusunun SQL ve SqlQuery temsillerini gösterir.
Bu, koşullu mantığı olmayan çok basit ve anlaşılır bir örnektir. İşlev basitçe sorguyu oluşturur ve onu işlevin değeri olarak döndürür.
Senaryo 2: Koşullu WHERE Cümleleri Oluşturma
Bu senaryoda, Senaryo 1’de belirtilenle aynı sorguyu çalıştırırsınız, ancak sonuçları belirli bir şehir adına göre filtreleyen bir WHERE yan tümcesi ile. Hiçbir şehir belirtilmemişse, tüm şehirleri dahil etmek istersiniz. Bu, şehir adı belirtilmediğinde hiçbir WHERE yan tümcesinin görünmemesi gerektiği anlamına gelir. Şehir adı, işlev tanımındaki CityName parametresi aracılığıyla iletilir. Listeler, bu senaryonun sorgusunun SQL ve SqlQuery temsillerini gösterir.
Bu örnekte, şehir adı CityName değişkeninde belirtilmişse, bir WHERE yan tümcesi koşulu ekleyen, koyu renkle vurgulanmış koşullu mantık vardır. WHERE yan tümceniz için koşullu mantığı istediğiniz kadar basit veya karmaşık hale getirebilirsiniz.
Access Sorgu Örnekleri
Ekleme sorgusu
Access sorgu nedir
Access Sorgu oluşturma
Access sorgu türleri
Access tablo yapma sorgusu
Kullanıcı sorguları
SQL tabloda toplama
Senaryo 3: FROM, SELECT, WHERE ve ORDER BY Cümleleri Koşullu Oluşturma
Ardından, kullanıcıya verileri görüntülemesi için birden çok yol ve sonuçların döndürüleceği sırayı belirtme yeteneği sağlayan daha karmaşık bir senaryomuz var. Verileri görüntülemenin ilk yolu, Senaryo 2’deki verileri taklit eder. İkinci seçenek, Senaryo 2’deki tüm verileri ve her müşterinin son altı ayda ürünlere harcadığı toplam para miktarını döndürür.
Müşteriler için satış toplamlarını elde etmek, Müşteriler, Siparişler ve Sipariş Ayrıntıları tablolarına katılmayı, seçilen alanlar listesine toplu sütunlar eklemeyi ve siparişleri son altı aydakilerle sınırlamak için ek WHERE yan tümcesi öğelerini gerektirir. Liste, bu senaryonun sorgusunun SQL ve SqlQuery temsillerini gösterir.
Gördüğünüz gibi, SqlQuery sınıfı, sorgu oluşturmaya daha fazla ve dize manipülasyonuna daha az odaklanmanıza izin verir. Senaryo3, ortak alanları her iki sorguya da SqlQueryObj’ye ekleyerek başlar. SELECT alan adlarının tam olarak nitelendiğine dikkat edin; yani, tanımlarında hem tabloyu hem de sütun adını içerirler.
SQL Server’ın alanın hangi tabloya ait olduğunu belirlemek için fazladan bir iş yapması gerekmediğinden, alanları tam olarak nitelemek her zaman yardımcı olur. Ve katıldığınız tabloların birden fazlasında görünen alan adlarını tam olarak nitelemeniz gerekir, çünkü SQL’in adı başka türlü çözme yolu yoktur.
Belirtilmişse, her iki sorgu da WHERE yan tümcesindeki CityName filtresini kullanır, bu nedenle Senaryo3, yan tümcenin eklenmesi gerekip gerekmediğini belirlemek için koşullu mantığı çalıştırır.
Ardından fonksiyon, fonksiyonun ShowTotalSpent flag parametresini kontrol ederek kullanıcının her müşterinin son altı ayda harcadığı toplam tutarı görmek isteyip istemediğini belirler. Bayrak True olarak ayarlanırsa, Senaryo3, sipariş edilen tüm öğelerin toplamını hesaplayan ek bir SELECT sütunu ve TotalSpent adlı bu sütun için bir diğer ad ayarlar.
Ardından, ShowTotalSpent bayrağının True olduğunu varsayarak, TotalSpent sütununun hesaplanabilmesi için Müşteriler, Siparişler ve Sipariş Ayrıntısı tablolarının hepsinin birleştirilmesi gerektiğinden, işlev uygun FROM yan tümcesini ayarlar.
Bunu yapmak için, Müşteri tablosunu, bireysel bir siparişin kaydını içeren ancak o siparişin ayrıntılarını içermeyen Sipariş tablosuna bağlarız. Daha sonra Sipariş tablosunu, siparişe dahil olan öğelerin ve satın alma fiyatlarının bir listesini içeren Sipariş Ayrıntıları tablosuna bağlarız.
Bu bize, her müşterinin harcadığı toplam para miktarını hesaplamak için kullanabileceğimiz müşteriler ve sipariş ayrıntıları arasında bir ilişki sağlar. FROM yan tümcesi ayarlandıktan sonra, Scenario3 Now.AddMonths(-6) kullanarak altı ay önce bir tarih değeri hesaplar ve TotalSpent hesaplamasına yalnızca son altı aydaki siparişlerin dahil edilmesini sağlamak için koşulu WHERE yan tümcesine ekler.
Son olarak, yöntem, sorguya bir dizi GROUP BY öğesi ekler. Bunlar, toplu olmayan sütunlar olduklarından (yani, SUM veya AVG gibi bir toplama işlevi kullanılarak hesaplanmadıklarından) SQL sözdizimi tarafından gereklidir.
İşlevin sorguyu döndürmeden önce yaptığı son şey, işlevin sortColumn ve SortDir parametrelerine dayalı olarak uygun ORDER BY yan tümcesini ayarlamaktır. İşlev, hangi sütunun belirtildiğini belirlemek için bir vaka ifadesi kullanır ve ardından bu belirlemeye dayalı olarak OrderBy özelliğine uygun öğeleri ekler.
Web sitelerinizi, arama motorlarında en yukarı getirmek adına sizlere 3 adet paket öneriyoruz. Bu paketler sayesinde web siteleriniz aramalarda 1 yıl içerisinde en yukarıya tırmanacaktır.
1) Backlink Paketi 50 $ (Yıllık Ücret)
2) Hızlandırma Paketi 300 $ (Yıllık Ücret)
3) Kelime Yönlendirme Paketi 150 $ (Aylık Ücret)